AT_abc220_d [ABC220D] FG operation

Description

[problemUrl]: https://atcoder.jp/contests/abc220/tasks/abc220_d $ 0 $ 以上 $ 9 $ 以下の整数からなる長さ $ N $ の数列 $ A=(A_1,\dots,A_N) $ があり、この順に左から右に並んでいます。 数列の長さが $ 1 $ になるまで、操作 $ F $ または操作 $ G $ を繰り返し行います。 - 操作 $ F $ :左端の $ 2 $ つの値 ( $ x,y $ とする ) を削除した後、一番左に $ (x+y)\%10 $ を挿入する - 操作 $ G $ :左端の $ 2 $ つの値 ( $ x,y $ とする ) を削除した後、一番左に $ (x\times\ y)\%10 $ を挿入する なお、$ a\%b $ は $ a $ を $ b $ で割った余りを意味します。 $ K=0,1,\dots,9 $ について、以下の問題に答えてください。 > 操作手順としてあり得るものは $ 2^{N-1} $ 通りありますが、このうち最終的に残る値が $ K $ となる操作手順は何通りありますか? > ただし答えは非常に大きくなる可能性があるので、$ 998244353 $ で割った余りを求めてください。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ A_1 $ $ \dots $ $ A_N $

Output Format

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

Explanation/Hint

### 制約 - $ 2\ \leq\ N\ \leq\ 10^5 $ - $ 0\ \leq\ A_i\ \leq\ 9 $ - 入力は全て整数 ### Sample Explanation 1 $ 1 $ 回目に操作 $ F $ 、$ 2 $ 回目に操作 $ F $ を行ったとき:数列は $ (2,7,6)→(9,6)→(5) $ となります。 $ 1 $ 回目に操作 $ F $ 、$ 2 $ 回目に操作 $ G $ を行ったとき:数列は $ (2,7,6)→(9,6)→(4) $ となります。 $ 1 $ 回目に操作 $ G $ 、$ 2 $ 回目に操作 $ F $ を行ったとき:数列は $ (2,7,6)→(4,6)→(0) $ となります。 $ 1 $ 回目に操作 $ G $ 、$ 2 $ 回目に操作 $ G $ を行ったとき:数列は $ (2,7,6)→(4,6)→(4) $ となります。