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

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

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

Наука не стоїть на місці, а постійно розвивається і біологія не виняток. Розшифровка структури ДНК стала одним з поворотних моментів в історії біології. Один з учнів 10 біологічного класу -- Грицько вирішив зробити і свій внесок в цю цікаву науку. Гриць планує розробити базу даних для генетичних кодів ДНК. Вам доручено реалізувати програму, яка добавляє коди в базу даних та підраховує кількість кодів для яких заданий код є префіксом. Нагадаємо що код \textit{\textbf{А}} довжини \textit{\textbf{N}} є префіксом коду \textit{\textbf{B}} довжини \textit{\textbf{M}}. Якщо \textit{\textbf{N}} і перші \textbf{N} символів коду \textit{\textbf{B}} дорівнюють коду \textit{\textbf{А}}. Для зручності роботи код ДНК представляє непустий рядок з символів \textit{\textbf{‘a’, ‘b’, ‘c’, ‘d’}}. База даних Грицька повинна коректно працювати з однаковими кодами ДНК. \InputFile Перший рядок містить натуральне число \textit{\textbf{T}} -- кількість операцій з базою даних. Наступні \textit{\textbf{T}} рядків містять по одній операції. Операція добавлення елементу складається із знаку <<\textbf{+}>> і записаного за ним коду ДНК який треба добавити в базу, а запит до бази даних складається із знаку \textbf{<<?>>} і записаного за ним коду ДНК для якого треба визначити для скількох кодів у базі даних даний код є префіксом. Сумарна довжина кодів у базі даних Грицька не перевищує \textbf{1000000}. \OutputFile Для кожного рядка вхідних даних який починається зі знаку <<?>> вивести відповідь у окремий рядок.
Ліміт часу 0.3 секунд
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
4
+abcd
?abc
+abc
?ab
Вихідні дані #1
1
2