#aBC220D. [ABC220D] FG operation

[ABC220D] FG operation

AT_abc220_d [ABC220D] FG operation

题目描述

有一个由 0099 之间的整数构成的长度为 NN 的数列 A=(A1,,AN)A=(A_1,\dots,A_N),这些数从左到右依次排列。

你可以不断重复进行操作 FF 或操作 GG,直到数列的长度变为 11

  • 操作 FF:将最左边的两个值(记为 x,yx, y)删除,然后在最左边插入 (x+y)%10(x+y)\%10
  • 操作 GG:将最左边的两个值(记为 x,yx, y)删除,然后在最左边插入 (x×y)%10(x\times y)\%10

这里,a%ba\%b 表示 aa 除以 bb 的余数。

对于 K=0,1,,9K=0,1,\dots,9,请回答下列问题:

可能的操作顺序共有 2N12^{N-1} 种,在这些操作顺序中,最终剩下的值为 KK 的操作顺序有多少种? 由于答案可能非常大,请输出对 998244353998244353 取模后的结果。

输入格式

输入以如下格式从标准输入给出。

NN A1A_1 A2A_2 \dots ANA_N

输出格式

请输出 1010 行。 第 ii 行输出 K=i1K=i-1 时的答案。

输入输出样例 #1

输入 #1

3
2 7 6

输出 #1

1
0
0
0
2
1
0
0
0
0

输入输出样例 #2

输入 #2

5
0 1 2 3 4

输出 #2

6
0
1
1
4
0
1
1
0
2

说明/提示

限制条件

  • 2N1052 \leq N \leq 10^5
  • 0Ai90 \leq A_i \leq 9
  • 输入均为整数

样例解释 1

第一次进行操作 FF,第二次进行操作 FF 时:数列变为 (2,7,6)(9,6)(5)(2,7,6)\to(9,6)\to(5)。 第一次进行操作 FF,第二次进行操作 GG 时:数列变为 (2,7,6)(9,6)(4)(2,7,6)\to(9,6)\to(4)。 第一次进行操作 GG,第二次进行操作 FF 时:数列变为 (2,7,6)(4,6)(0)(2,7,6)\to(4,6)\to(0)。 第一次进行操作 GG,第二次进行操作 GG 时:数列变为 (2,7,6)(4,6)(4)(2,7,6)\to(4,6)\to(4)

由 ChatGPT 4.1 翻译