#ABC456G. 2404~Count Holidays

2404~Count Holidays

问题描述

高桥正在制定一个包含 NN 天的工作日程,其中每天都被指定为工作日或休息日。

给定一个长度为 NN 的字符串 SS,表示工作日的约束。如果 SS 的第 ii 个字符是 x,则第 ii 天必须是工作日。如果是 .,则第 ii 天可以是工作日或休息日。

存在 2q2^q 种满足这些约束的有效工作日程,其中 qqSS. 字符的数量。对于每个 k=1,2,,Nk=1,2,\dots,N,解决以下问题:

在满足约束的 2q2^q 种有效工作日程中,找出最长连续休息日块恰好为 kk 天的日程数量,结果模 998244353998244353

约束条件

  • NN 是一个 112×1052 \times 10^5 之间的整数(含)。
  • SS 是一个长度为 NN 的字符串,由 .x 组成。

输入

输入将从标准输入以以下格式给出:

  • NN
  • SS

输出

输出 NN 行。第 ii 行应包含当 k=ik=i 时的答案。

5
.x...
9
4
2
0
0

o 表示假期,合法的排班方案如下:

  • k=1k=1: oxxxx, oxoxx, oxoxo, oxxox, oxxxo, xxoxx, xxoxo, xxxox, xxxxo
  • k=2k=2: oxoox, oxxoo, xxoox, xxxoo
  • k=3k=3: oxooo, xxooo
7
.......
33
47
27
12
5
2
1
20
.....x...x..........
9359
75312
94664
46840
23680
7168
3072
1280
512
256
0
0
0
0
0
0
0
0
0
0