AT_abc261_c [ABC261C] NewFolder(1)
Description
[problemUrl]: https://atcoder.jp/contests/abc261/tasks/abc261_c
$ 2 $ つの文字列 $ A,B $ に対して、$ A $ の末尾に $ B $ を連結した文字列を $ A+B $ と表します。
$ N $ 個の文字列 $ S_1,\ldots,S_N $ が与えられます。$ i=1,\ldots,N $ の順に、次の指示に従って加工して出力してください。
- $ S_1,\ldots,S_{i-1} $ の中に $ S_i $ と同じ文字列が存在しないならば、$ S_i $ を出力する。
- $ S_1,\ldots,S_{i-1} $ の中に $ S_i $ と同じ文字列が $ X $ 個 $ (X\ >\ 0) $ 存在するならば、$ X $ を文字列として扱って $ S_i+ $ `(` $ +X+ $ `)` を出力する。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ S_1 $ $ S_2 $ $ \vdots $ $ S_N $
Output Format
問題文中の指示にしたがって、$ N $ 行出力せよ。
Explanation/Hint
### 制約
- $ 1\ \leq\ N\ \leq\ 2\times\ 10^5 $
- $ S_i $ は英小文字のみからなる長さ $ 1 $ 以上 $ 10 $ 以下の文字列