Суфіксне дерево на черзі
Проста
Обмеження на час виконання 1 секунда
Обмеження на використання пам'яті 256 мегабайтів
Задано рядок s, спочатку він порожній. Також задано послідовність операцій. Кожна операція одного з двох наступних типів:
додати символ у кінець рядкаи s, довжина рядка збільшкється на 1;
видалити перший символ рядка s, довжина рядка зменшується на 1.
Після кожної операції Вам потрібно вивести кількість різних підрядків у рядку s на даний момент.
Вхідні дані
У першому рядку записано ціле число q (1 ≤ q ≤ 10^4) — кількість операцій. У наступних q рядках записані самі операції. Операція першого типу задана у форматі "+ c", де c — маленька буква латинського алфавіту. Операція другого типу задана у форматі "-".
Вихідні дані
Виведіть q рядків, для кожної операції кількість різни підрядків у рядку s після її виконання.
Приклади
Вхідні дані #1
Відповідь #1
Відправки 69
Коефіцієнт прийняття 3%