atcoder#ABC230F. [ABC230F] Predilection

[ABC230F] Predilection

配点 : 500500

問題文

長さ NN の数列 AA が与えられます。 数列の長さが 22 以上のとき、隣接する二つの値を選び、それらを削除し、それらが元にあった位置にそれらの和を挿入するという操作を好きなだけ行えます。 00 回以上の操作の後の数列として考えられるものは何通りあるか求め、998244353998244353 で割ったあまりを出力してください。

制約

  • 1N2×1051 \leq N \leq 2\times 10^5
  • Ai109|A_i| \leq 10^9
  • 入力はすべて整数

入力

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

NN

A1A_1 A2A_2 \cdots ANA_N

出力

答えを出力せよ。

3
1 -1 1
4

00 回以上の操作の後の数列として考えられるのは以下の 44 通りです。

  • 1,1,1{1,-1,1}
  • 1,0{1,0}
  • 0,1{0,1}
  • 1{1}
10
377914575 -275478149 0 -444175904 719654053 -254224494 -123690081 377914575 -254224494 -21253655
321