Codeforces Round 371 (Div. 1) |
---|
Закончено |
Сегодня сова Соня выучила длинные числа и сразу же позвала в гости своих друзей, чтобы продемонстрировать им свои навыки. У Сони есть мультимножество с числами, изначально пустое. Друзья сделают t запросов, каждый одного из трёх видов:
Например, под шаблон s = 010 подходят числа 92, 2212, 50 и 414, но не подходят числа 3, 110, 25 и 1030.
В первой строке входных данных записано число t (1 ≤ t ≤ 100 000) — количество операций, которые предстоит выполнить Соне.
Следующие t строк описывают запросы в порядке их поступления. В начале i-й из этих строк записан символ ci — тип операции данного запроса. Если ci равен «+» или «-», то после него через пробел записано целое число ai (0 ≤ ai < 1018), которое не может иметь лидирующие нули (кроме, собственно, числа 0, записывающегося как «0»). Если же ci равен «?», то после него через пробел записана последовательность из нулей и единиц, количество которых не превосходит 18, определяющая соответствующий данному запросу шаблон.
Гарантируется, что во входных данных содержится хотя бы один запрос «?».
Гарантируется, что перед удалением числа хотя бы один его экземпляр присутствовал в мультимножестве.
Для каждого запроса третьего типа выведите количество подходящих чисел в мультимножестве. Каждое число учитывается количество раз, равное количеству вхождений в мультимножество в данный момент времени.
12
+ 1
+ 241
? 1
+ 361
- 241
? 0101
+ 101
? 101
- 101
? 101
+ 4000
? 0
2
1
2
1
1
4
+ 200
+ 200
- 200
? 0
1
Рассмотрим, какие числа подходят под операции третьего типа, пронумерованные в порядке их появления во входным данных:
Название |
---|