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)
Коментарі