#pragma GCC optimize("O3","Ofast","unroll-loops")
#pragma GCC target("avx2","bmi","bmi2","lzcnt","popcnt")

#include <bits/stdc++.h>
using namespace std;

constexpr int N = 200'000;
static int work[N + 1];          // 1-based

inline void update(int k, int delta) {
    const int step = k << 1;     // 2*k
    for (int off = 1; off <= k; ++off)
        for (int d = off; d <= N; d += step)
            work[d] += delta;
}

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int T = 1;                                   // число наборов данных
    //if (!(cin >> T)) return 0;

    while (T--) {
        int q;                               // число запросов
        cin >> q;
        fill(begin(work), end(work), 0);     // обнуляем массив

        while (q--) {
            char tp;
            cin >> tp;
            if (tp == '+') {
                int x, k; cin >> x >> k;
                update(k,  x);
            } else if (tp == '-') {
                int x, k; cin >> x >> k;
                update(k, -x);
            } else {                         // '?'
                int t; cin >> t;
                cout << work[t] << '\n';
            }
        }
    }
    return 0;
}
