AT_abc366_b [ABC366B] Vertical Writing
Description
[problemUrl]: https://atcoder.jp/contests/abc366/tasks/abc366_b
> 横書きの文章が与えられます。縦書きに直してください。空白を `*` で埋めてください。
$ N $ 個の、英小文字からなる文字列 $ S_1,S_2,\dots,S_N $ が与えられます。これらの文字列の長さの最大値を $ M $ とします。
以下の条件を満たす $ M $ 個の文字列 $ T_1,T_2,\dots,T_M $ を出力してください。
- 各 $ T_i $ は英小文字および `*` からなる
- 各 $ T_i $ の末尾は `*` でない
- 各 $ 1\ \leq\ i\ \leq\ N $ について、次が成り立つ
- 各 $ 1\ \leq\ j\ \leq\ |S_i| $ について、$ T_j $ の $ N-i+1 $ 文字目が存在し、$ T_1,T_2,\dots,T_{|S_i|} $ それぞれの $ N-i+1 $ 文字目をこの順に連結したものは $ S_i $ と一致する
- 各 $ |S_i|\ +\ 1\ \leq\ j\ \leq\ M $ について、$ T_j $ の $ N-i+1 $ 文字目は存在しないか、 `*` である
ただし、$ |S_i| $ で文字列 $ S_i $ の長さを表します。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ S_1 $ $ S_2 $ $ \vdots $ $ S_N $
Output Format
答えを以下の形式で出力せよ。
> $ T_1 $ $ T_2 $ $ \vdots $ $ T_M $
Explanation/Hint
### 制約
- $ N $ は $ 1 $ 以上 $ 100 $ 以下の整数
- $ S_i $ は長さ $ 1 $ 以上 $ 100 $ 以下の英小文字からなる文字列
### Sample Explanation 1
$ T_3 $ の $ 2 $ 文字目を `\*` とすることで、 `c` が正しい位置に来ます。 $ T_4 $ の $ 2,3 $ 文字目を `\*` とした場合、$ T_4 $ の末尾が `\*` となり、条件を満たしません。