#include <bits/stdc++.h>
using namespace std;
const int MAXN = 20;
int ans[1 << MAXN];
int calc(string s) {
  int ret = 0;
  reverse(s.begin(), s.end());
  for (int i = 0; i < s.length(); i++)
    if (s[i] == '1') ret += (1 << i);
  return ret;
}
void add(string s, int val) {
  string t = s;
  for (int i = 0; i < s.length(); i++) t[i] = ((s[i] - '0') % 2) + '0';
  ans[calc(t)] += val;
}
int main() {
  int n;
  cin >> n;
  for (int i = 0; i < n; i++) {
    char c;
    string s;
    cin >> c >> s;
    if (c == '+')
      add(s, 1);
    else if (c == '-')
      add(s, -1);
    else if (c == '?')
      cout << ans[calc(s)] << endl;
  }
  return 0;
}
