eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

"Дезоксирибонуклеїнова кислота"

"Дезоксирибонуклеїнова кислота"

Наука рухається вперед, і біологія не є винятком. Декодування ДНК стало одним з переломних моментів в історії біології. Один з студентів старшого курсу біологічного факультету, Джордж, вирішив зробити свій внесок у цю захоплюючу науку. Джордж планує розробити базу даних для зберігання генетичних кодів ДНК. Вам доручено реалізувати програму, яка додає коди до бази даних і повертає кількість кодів, для яких даний код є префіксом. Код \textbf{А} довжиною \textbf{N} є префіксом коду \textbf{B} довжиною \textbf{M}, якщо \textbf{N} < \textbf{M} і перші \textbf{N} символів коду \textbf{B} дорівнюють коду \textbf{А}. Для зручності ДНК код представлений непорожнім рядком символів '\textbf{a}', '\textbf{b}', '\textbf{c}', '\textbf{d}'. База даних Джорджа повинна коректно обробляти дубльовані ДНК коди. \InputFile Перший рядок вхідних даних містить ціле число \textbf{T} -- кількість операцій з базою даних. Наступні \textbf{T} рядків містять по одній операції кожен. Операція вставки складається з символу "\textbf{+}" за яким слідує ДНК код, який потрібно додати до бази даних, операція запиту складається з символу "\textbf{?}" за яким слідує ДНК код, для якого потрібно знайти кількість кодів з бази даних, що мають цей код як префікс. \OutputFile Для кожного рядка на вході, який починається з символу "\textbf{?}", потрібно надрукувати результат у окремому рядку на виході. \textbf{Обмеження} Загальна довжина кодів у базі даних Джорджа не перевищує \textbf{1000000}.
Ліміт часу 0.4 секунд
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
4
+cccdcc
+a
?a
?c
Вихідні дані #1
0
1
Джерело ACM-ICPC Ukraine 2013, 2nd Stage Ukraine, September 10-12, 2013