AT_abc456_g [ABC456G] Count Holidays
Description
高橋君はこれから $ N $ 日間についての勤務予定を、各日を勤務日か休日のどちらかに設定することで作成しようとしています。
勤務に関する条件を表す長さ $ N $ の文字列 $ S $ が与えられます。 $ S $ の $ i $ 文字目が `x` のとき $ i $ 日目は必ず勤務日にしなければなりません。`.` のとき $ i $ 日目は勤務日と休日のどちらにすることもできます。
条件を満たす勤務予定は $ S $ に含まれる `.` の個数を $ q $ としたとき全部で $ 2^q $ 通り考えられます。 $ k=1,2,\dots,N $ について次の問題を解いてください。
> 条件を満たす勤務予定 $ 2^q $ 通りのうち、最長の連続する休日がちょうど $ k $ 日であるような決め方の総数を $ 998244353 $ で割ったあまりを求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ S $
Output Format
$ N $ 行出力せよ。 $ i $ 行目には $ k=i $ のときの答えを出力せよ。
Explanation/Hint
### Sample Explanation 1
休日を `o` で表すとき、条件を満たす勤務予定はそれぞれ以下のようになります。
- $ k=1 $ :`oxxxx`, `oxoxx`, `oxoxo`, `oxxox`, `oxxxo`, `xxoxx`, `xxoxo`, `xxxox`, `xxxxo`
- $ k=2 $ :`oxoox`, `oxxoo`, `xxoox`, `xxxoo`
- $ k=3 $ :`oxooo`, `xxooo`
### Constraints
- $ N $ は $ 1 $ 以上 $ 2 \times 10^5 $ 以下の整数
- $ S $ は `.`, `x` からなる長さ $ N $ の文字列