#arc125d. [arc125_d]Unique Subsequence

[arc125_d]Unique Subsequence

問題文

長さ NN の整数列 A1,A2,cdots,ANA_1,A_2,\\cdots,A_N が与えられます.

AA の非空な部分列 ss であって,以下の条件を満たすものの個数を 998244353998244353 で割った余りを求めてください.

  • AA から ss を取り出す方法が一意である. つまり,s=(s1,s2,cdots,sk)s=(s_1,s_2,\\cdots,s_k) とした時,Aidx(i)=siA_{idx(i)}=s_i (1leqileqk1 \\leq i \\leq k)を満たす添字の列 1leqidx(1)<idx(2)<cdots<idx(k)leqN1 \\leq idx(1)<idx(2)<\\cdots<idx(k) \\leq N がちょうど一つ存在する.

制約

  • 1leqNleq2times1051 \\leq N \\leq 2 \\times 10^5
  • 1leqAileqN1 \\leq A_i \\leq N
  • 入力される値はすべて整数である

入力

入力は以下の形式で標準入力から与えられる.

NN A1A_1 A2A_2 cdots\\cdots ANA_N

出力

答えを出力せよ.


入力例 1

3
1 2 1

出力例 1

5

以下の 55 つの部分列が条件を満たします.

  • (1,1)(1,1)
  • (1,2)(1,2)
  • (1,2,1)(1,2,1)
  • (2)(2)
  • (2,1)(2,1)

部分列 (1)(1) は取り出す方法が 22 通りあるので条件を満たしません.


入力例 2

4
4 2 1 3

出力例 2

15

入力例 3

12
1 2 3 6 9 2 3 3 9 6 1 6

出力例 3

1178