#abc213f. [abc213_f]Common Prefixes

[abc213_f]Common Prefixes

問題文

22 つの文字列 X,YX,Y に対して、その類似度 f(X,Y)f(X,Y) を、XXYY を先頭から見て一致している文字数とします。
例えば abcaxbc の類似度は 11aaaaaaa の類似度は 33 です。

長さ NN の文字列 SS が与えられます。SSii 文字目以降からなる文字列を SiS_i とします。k=1,ldots,Nk=1,\\ldots,N のそれぞれについて、f(Sk,S1)+f(Sk,S2)+ldots+f(Sk,SN)f(S_k,S_1)+f(S_k,S_2)+\\ldots+f(S_k,S_N) を求めてください。

制約

  • 1leqNleq1061 \\leq N \\leq 10^6
  • SS は英小文字のみからなる長さ NN の文字列

入力

入力は以下の形式で標準入力から与えられる。

NN SS

出力

NN 行出力せよ。

ii 行目には k=ik=i の問題の答えを出力せよ。


入力例 1

3
abb

出力例 1

3
3
2

S1,S2,S3S_1,S_2,S_3 はそれぞれ abb, bb, b です。

  • k=1k=1 のとき f(S1,S1)+f(S1,S2)+f(S1,S3)=3+0+0=3f(S_1,S_1)+f(S_1,S_2)+f(S_1,S_3)=3+0+0=3
  • k=2k=2 のとき f(S2,S1)+f(S2,S2)+f(S2,S3)=0+2+1=3f(S_2,S_1)+f(S_2,S_2)+f(S_2,S_3)=0+2+1=3
  • k=3k=3 のとき f(S3,S1)+f(S3,S2)+f(S3,S3)=0+1+1=2f(S_3,S_1)+f(S_3,S_2)+f(S_3,S_3)=0+1+1=2

入力例 2

11
mississippi

出力例 2

11
16
14
12
13
11
9
7
4
3
4