题目描述
高橋小学校には N 人の新入生がおり、i = 1, 2, …, N について i 番目の新入生の名前は Si (英小文字のみからなる文字列)です。 N 人の名前は相異なります。
N 人の新入生には、名前が辞書順で小さい者から順に 1, 2, 3, …, N と学籍番号が付与されます。 ただしその際には、a
が最小で z
が最大である通常の英小文字の順序の代わりに、下記で定まる順序を用います。
- まず高橋校長が、長さ 26 の文字列
abcdefghijklmnopqrstuvwxyz
を並べ替えて得られる 26! 個の文字列の中から 1 つを、等確率でランダムに文字列 P として選ぶ。
- P で前にある英小文字ほど小さい英小文字とみなす。
N 人の新入生それぞれについて、与えられる学籍番号の期待値を mod 998244353 で出力してください(注記参照)。
辞書順で小さいとは?文字列 S = S1S2… S∣S∣ が文字列 T = T1T2… T∣T∣ より辞書順で小さいとは、下記の 1. と 2. のどちらかが成り立つことを言います。 ここで、∣S∣, ∣T∣ はそれぞれ S, T の長さを表します。
- ∣S∣ < ∣T∣ かつ S1S2… S∣S∣ = T1T2… T∣S∣。
- ある整数 $ 1\ \leq\ i\ \leq\ \min\lbrace\ |S|,\ |T|\ \rbrace $ が存在して、下記の 2 つがともに成り立つ。
- S1S2… Si−1 = T1T2… Ti−1
- Si が Ti より小さい文字である。
输入格式
入力は以下の形式で標準入力から与えられる。
N S1 S2 ⋮ SN
输出格式
N行出力せよ。 i = 1, 2, …, N について、i 行目には i 番目の新入生に与えられる学籍番号の期待値を mod 998244353 で出力せよ。
题目大意
题目大意
有 n 个学生,第 i 个学生的名字是一个字符串 Si,编号是 i。
接下来校长要按照一种绝妙的字典序来对这 n 个学生的名字排序。他随机选取一个 a∼z 的排列,定为 P。P 中越早出现的字母,他的字典序就越小。
对于每一个学生,求出他的期望排名,对 998244353 取模。
输入格式
第一行一个整数 n。
接下来 n 行每行一个字符串 Si。
输出格式
输出 n 行,第 i 行表示编号为 i 的学生的期望排名。
数据范围
对于所有数据,我们保证 Si 只由小写字母组成,并且这些学生的名字互不相同。n⩾2,字符串总长度不超过 5×105。
3
a
aa
ab
1
499122179
499122179
3
a
aa
aaa
1
2
3
提示
注記
求める期待値は必ず有理数となることが証明できます。またこの問題の制約下では、その値を互いに素な 2 つの整数 P, Q を用いて QP と表したとき、R × Q ≡ P(mod998244353) かつ 0 ≤ R < 998244353 を満たす整数 R がただ一つ存在することが証明できます。この R を求めてください。
制約
- 2 ≤ N
- N は整数
- Si は英小文字のみからなる長さ 1 以上の文字列
- 与えられる文字列の長さの総和は 5 × 105 以下
- i = j ⇒ Si = Sj
Sample Explanation 1
1 番目の新入生に与えられる学籍番号の期待値は 1 であり、2, 3 番目の新入生に与えられる学籍番号の期待値は 25 です。 答えを mod 998244353 で出力することに注意してください。 例えば、2, 3 番目の新入生についての出力では、求める期待値が 25 であり、 2 × 499122179 ≡ 5(mod998244353) が成り立つので、 499122179 を出力します。