#include <bits/stdc++.h>
using namespace std;
int cnt[2000010];
char str[110];
char mm[110];
int in() {
  scanf("%s", str);
  int len = strlen(str);
  reverse(str, str + len);
  int num = 0;
  int digit = 1;
  for (int i = 0; i < 20; i++) {
    if (i >= len) continue;
    int v = str[i] - '0';
    v = v & 1;
    num += digit * v;
    digit *= 2;
  }
  return num;
}
int main() {
  memset(cnt, 0, sizeof(cnt));
  int cas;
  scanf("%d", &cas);
  for (int cc = 1; cc <= cas; cc++) {
    scanf("%s", mm);
    int num = in();
    if (mm[0] == '+') cnt[num]++;
    if (mm[0] == '-') cnt[num]--;
    if (mm[0] == '?') printf("%d\n", cnt[num]);
  }
  return 0;
}
