YJC希望能一举摧毁W国的军队,所以他决定动用核弹。C国一共有n枚核弹头,编号为1~n,YJC决定动用编号为1~i(1≤i≤n)的核弹头。YJC决定将核弹头分组,每一组选用一种可以正好装载这一组核弹头的导弹装载。对于每个i(1≤i≤n),C国有ai种可以装载正好i枚核弹头的导弹,每种导弹有无限多个。如果存在两枚核弹头在一种方案中被分在同一组,在另一种方案中没有被分在同一组,则这两种分组方案是不同的。如果两种装载方案的分组方案不同或分组方案相同但存在某一组核弹头选用的导弹不同,则这两种装载方案是不同的。现在YJC想知道,对于选用i枚核弹头,一共有多少种不同的装载方案。这个数字可能很大,你只需要输出它mod 998244353的值即可。
Input
第一行包含一个整数n,表示核弹头个数。
接下来n行,第(i+1)行包含一个整数ai,表示装载正好i枚核弹头的导弹的种数。
Output
输出n行,第i行包含一个整数di,表示选用i枚核弹头不同的装载方案的种数。
Sample Input
3
1
1
1
Sample Output
1
2
5