A. Соня и запросы
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Сегодня сова Соня выучила длинные числа и сразу же позвала в гости своих друзей, чтобы продемонстрировать им свои навыки. У Сони есть мультимножество с числами, изначально пустое. Друзья сделают t запросов, каждый одного из трёх видов:

  1.  +  ai — добавить целое неотрицательное число ai в мультимножество. Обратите внимание, что, поскольку у Сони мультимножество, в нём может содержаться несколько одинаковых чисел.
  2.  -  ai — удалить целое неотрицательное число ai из мультимножества. Гарантируется, что такое число есть в мультимножестве. Если в мультимножестве было несколько экземпляров числа ai, то при выполнении данной операции удаляется только один из них.
  3. ? s — ответить, сколько чисел в мультимножестве (включая повторы) подходит под шаблон s, состоящий из 0 и 1. В шаблоне 0 соответствует чётным цифрам, а 1 — нечётным. Число x подходит под шаблон s, если чётность i-й справа цифры числа, записанного в десятичной системе, подходит под i-ю справа цифру шаблона. При этом если шаблон короче соответствующего числа, то он дополняется нулями слева. Аналогично, если десятичная запись числа короче шаблона, то оно также дополняется нулями слева.

Например, под шаблон 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
Примечание

Рассмотрим, какие числа подходят под операции третьего типа, пронумерованные в порядке их появления во входным данных:

  1. 1 и 241.
  2. 361.
  3. 101 и 361.
  4. 361.
  5. 4000.