#include <bits/stdc++.h>
using namespace std;
int t;
map<long long, long long> f;
char s[20];
long long convert(long long x) {
  int i = 0;
  long long ans = 0;
  while (x) {
    int y = x % 10;
    if (y & 1) ans += 1 << i;
    i++;
    x /= 10;
  }
  return ans;
}
int main() {
  scanf("%d", &t);
  char que;
  long long x;
  while (t--) {
    cin >> que;
    if (que == '+') {
      scanf("%I64d", &x);
      f[convert(x)]++;
    }
    if (que == '-') {
      scanf("%I64d", &x);
      f[convert(x)]--;
    }
    if (que == '?') {
      scanf("%s", s);
      int len = strlen(s);
      long long res = 0;
      for (int i = 0; i < len; ++i)
        if (s[len - i - 1] == '1') res += 1 << i;
      printf("%I64d\n", f[res]);
    }
  }
}
