Взлом компьютера

아직 제출이 없습니다시간 제한2초메모리 제한1024 MB

문제

Майлз и Питер из параллельной вселенной выкрали из лаборатории корпорации Алхемакс компьютер с секретными данными. Теперь Майлз занимается изучением его содержимого. Он открыл в терминале директорию с названием <<SuperSecretData>>. Он обратил внимание, что иногда в этой директории сами по себе появляются и исчезают файлы. Имена всех файлов состоят из строчных латинских букв. В некоторые моменты его интересует, какое минимальное количество нажатий нужно сделать, чтобы ввести в терминале имя некоторого файла, который в этот момент времени находится в директории. Изначально в терминале набрана пустая строка. Майлз может нажимать на кнопки, соответствующие строчным латинским буквам, при этом, в конец строки дописывается соответствующая буква. Также, Майлз может нажимать кнопку tab. При этом, в конец строки дописываются буквы, пока очередная буква может быть определена однозначно. То есть, пока в терминале набрана строка ss и существует такая буква cc, что множество файлов в директории, имена которых начинаются с sc\overline{sc} (ss, в конец которой дописана cc), не отличается от множества файлов, имена которых начинаются c ss, буква cc дописывается в конец строки ss.

Например, если в директории находятся файлы <<passwords>> и <<paroli>>, а в терминале набрана пустая строка, после нажатия tab, в терминале будет написано <<pa>>. Если нажать tab еще раз, строка не изменится. Если после этого нажать <<s>>, в терминале будет написано <<pas>>. И если после этого нажать tab, в терминале будет написано <<passwords>>.

Помогите Майлзу, ответьте на его вопросы.

입력

В первой строке дано одно целое число qq --- количество запросов (1q100,0001 \le q \le 100\\,000).

В следующих qq строках даны запросы. Каждый запрос начинается с одного символа, обозначающего тип запроса.

Если символ равен <<+>>, запрос обозначает появление нового файла в директории, далее в этой же строке дано его имя s_is\_i (1s_i100,0001 \le |s\_i| \le 100\\,000).

Если символ равен <<->>, запрос обозначает удаление файла из директории, далее в этой же строке дано целое число a_ia\_i --- номер файла (1a_i1 \le a\_i). Файлы нумеруются с 11 в порядке появления.

Если символ равен <<?>>, запрос обозначает вопрос Майлза о том, какое минимальное количество кнопок нужно нажать, чтобы ввести имя файла, далее в этой же строке дано целое число a_ia\_i --- номер файла, про имя которого спрашивает Майлз (1a_i1 \le a\_i). Файлы нумеруются с 11 в порядке появления.

Суммарная длина всех s_is\_i не превышает 10610^6.

Гарантируется, что в директории в один момент времени не будет двух файлов с одинаковым именем. Гарантируется, что каждый файл будет удален не более одного раза. Гарантируется, что в момент, когда Майлз задает вопрос (запрос третьего типа), файл уже добавлен в директорию, и еще не удален из нее. Гарантируется, что номер файла из запросов второго и третьего типа не превышает количество файлов, добавленных к моменту запроса.

출력

На каждый запрос третьего типа выведите в новой строке одно число --- ответ на вопрос Майлза.