#abc220d. [abc220_d]FG operation

[abc220_d]FG operation

問題文

00 以上 99 以下の整数からなる長さ NN の数列 A=(A1,dots,AN)A=(A_1,\\dots,A_N) があり、この順に左から右に並んでいます。

数列の長さが 11 になるまで、操作 FF または操作 GG を繰り返し行います。

  • 操作 FF :左端の 22 つの値 ( x,yx,y とする ) を削除した後、一番左に (x+y)(x+y)\\%10 を挿入する
  • 操作 GG :左端の 22 つの値 ( x,yx,y とする ) を削除した後、一番左に (xtimesy)(x\\times y)\\%10 を挿入する

なお、aa\\%baabb で割った余りを意味します。

K=0,1,dots,9K=0,1,\\dots,9 について、以下の問題に答えてください。

操作手順としてあり得るものは 2N12^{N-1} 通りありますが、このうち最終的に残る値が KK となる操作手順は何通りありますか?
ただし答えは非常に大きくなる可能性があるので、998244353998244353 で割った余りを求めてください。

制約

  • 2leqNleq1052 \\leq N \\leq 10^5
  • 0leqAileq90 \\leq A_i \\leq 9
  • 入力は全て整数

入力

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

NN A1A_1 dots\\dots ANA_N

出力

答えを 1010 行に出力せよ。
ただし、ii 行目には K=i1K=i-1 としたときの答えを出力せよ。


入力例 1

3
2 7 6

出力例 1

1
0
0
0
2
1
0
0
0
0

11 回目に操作 FF22 回目に操作 FF を行ったとき:数列は (2,7,6)(9,6)(5)(2,7,6)→(9,6)→(5) となります。
11 回目に操作 FF22 回目に操作 GG を行ったとき:数列は (2,7,6)(9,6)(4)(2,7,6)→(9,6)→(4) となります。
11 回目に操作 GG22 回目に操作 FF を行ったとき:数列は (2,7,6)(4,6)(0)(2,7,6)→(4,6)→(0) となります。
11 回目に操作 GG22 回目に操作 GG を行ったとき:数列は (2,7,6)(4,6)(4)(2,7,6)→(4,6)→(4) となります。


入力例 2

5
0 1 2 3 4

出力例 2

6
0
1
1
4
0
1
1
0
2