eolymp
bolt
Try our new interface for solving problems
Problems

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

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

Наука не стоит на месте, а постоянно розвивается и биология не исключние. Розшифровка структуры ДНК стала одним из поворотных моментов в истории биологии. Один из учников 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 Для каждой строки входных данных начинающегося знаком <<?>> вывести ответ в отдельной строке.
Time limit 0.3 seconds
Memory limit 64 MiB
Input example #1
4
+abcd
?abc
+abc
?ab
Output example #1
1
2