#arc146e. [arc146_e]Simple Speed

[arc146_e]Simple Speed

問題文

長さ NN の正整数列 A=(A1,A2,dots,AN)A=(A_1,A_2,\\dots,A_N) が与えられます。

11 以上 NN 以下の整数からなる整数列 BB のうち、以下の条件を全て満たすものの個数を 998244353998244353 で割ったあまりを出力してください。

  • 1leileN1 \\le i \\le N を満たす整数 ii に対し、BB の中に ii はちょうど AiA_i 個存在する。
  • 1leileB11 \\le i \\le |B|-1 を満たす整数 ii に対し、BiBi+1=1|B_i - B_{i+1}|=1 が成り立つ。

制約

  • 1leNle2times1051 \\le N \\le 2 \\times 10^5
  • 1leAile2times1051 \\le A_i \\le 2 \\times 10^5
  • 入力はすべて整数である。

入力

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

NN A1A_1 A2A_2 dots\\dots ANA_N

出力

答えを出力せよ。


入力例 1

3
2 3 1

出力例 1

6

BB としてあり得るものは、以下の 66 通りがあります。

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

よって、解は 66 です。


入力例 2

1
200000

出力例 2

0

条件を満たす BB が存在しないこともあります。


入力例 3

6
12100 31602 41387 41498 31863 12250

出力例 3

750337372