AT_agc031_b [AGC031B] Reversi

Description

[problemUrl]: https://atcoder.jp/contests/agc031/tasks/agc031_b $ N $ 個の石が一列に並んでいて、左から $ i $ 個目の石は色 $ C_i $ で塗られています。 すぬけ君は、以下の操作を $ 0 $ 回以上の任意の回数行います。 - 同じ色で塗られている $ 2 $ つの石を選ぶ。それらの石の間に置かれている石をすべて、選んだ石と同じ色で塗りかえる。 最終的な石の色の列としてありうるものの個数を $ 10^9+7 $ で割ったあまりを求めてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ C_1 $ $ : $ $ C_N $

Output Format

最終的な石の色の列としてありうるものの個数を $ 10^9+7 $ で割ったあまりを出力せよ。

Explanation/Hint

### 制約 - $ 1\ \leq\ N\ \leq\ 2\times\ 10^5 $ - $ 1\ \leq\ C_i\ \leq\ 2\times\ 10^5(1\leq\ i\leq\ N) $ - 入力はすべて整数である ### Sample Explanation 1 以下の $ 3 $ 通りの石の色の列を作ることができます。 - 操作を行わないことで、$ (1,2,1,2,2) $ - $ 1,3 $ 番目の石を選んで操作を行うことで、$ (1,1,1,2,2) $ - $ 2,4 $ 番目の石を選んで操作を行うことで、$ (1,2,2,2,2) $