11840. Нова папка(1)


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 500M

Author:
Problem type
Allowed languages
C++, Java, Pascal, Python

Для двох рядків \(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\);

  • якщо \(X\) (\(X>0\)) з \(S_1,\ldots,S_{i-1}\) дорівнюють \(S_i\), вивести \(S_i+ ( +X+ )\), розглядаючи \(X\) як рядок.

Обмеження

  • \(1 \leq N \leq 2\times 10^5\)
  • \(S_i\) це рядок довжиною від 1 до 10(включно), що складається з малих літер англійської абетки.

Формат вхідних даних

Перший рядок містить ціле число \(N\)

Наступні  \(N\) рядків містять \(S_i\)

Формат вихідних даних

У вихідний потік виведіть \(N\) рядків, як описано в умові задачі.

Приклад вхідних даних

5
newfile
newfile
newfolder
newfile
newfolder

Приклад вихідних даних

newfile
newfile(1)
newfolder
newfile(2)
newfolder(1)

Приклад вхідних даних

11
a
a
a
a
a
a
a
a
a
a
a

Приклад вихідних даних

a
a(1)
a(2)
a(3)
a(4)
a(5)
a(6)
a(7)
a(8)
a(9)
a(10)

Коментарі

Ще немає коментарів.