func_code_string: #include <bits/stdc++.h>   using namespace std;   const double PI = acos(-1);   const int N = 100000 + 5;   long long q;   long long tree[4000005], lazy[4000005];   long long ti[1000005], di[1000005];   void lazify(long long s, long long e, long long i) {     if (lazy[i]) {       tree[i] += lazy[i];       if (s != e) {         lazy[2 * i] += lazy[i];         lazy[2 * i + 1] += lazy[i];       }       lazy[i] = 0;     }   }   void upd(long long l, long long r, long long s, long long e, long long i,            long long x) {     lazify(s, e, i);     if (s > r || e < l) return;     if (s >= l && e <= r) {       lazy[i] += x;       lazify(s, e, i);       return;     }     long long mid = (s + e) >> 1;     upd(l, r, s, mid, 2 * i, x);     upd(l, r, mid + 1, e, 2 * i + 1, x);     tree[i] = min(tree[2 * i], tree[2 * i + 1]);   }   long long pquery(long long l, long long r, long long s, long long e,                    long long i) {     if (s > r || e < l) return 1e18;     lazify(s, e, i);     if (s >= l && e <= r) return tree[i];     long long mid = (s + e) >> 1;     return min(pquery(l, r, s, mid, 2 * i), pquery(l, r, mid + 1, e, 2 * i + 1));   }   void build(long long l, long long r, long long i) {     if (l == r) {       tree[i] = -l;       return;     }     long long mid = (l + r) >> 1;     build(l, mid, 2 * i);     build(mid + 1, r, 2 * i + 1);     tree[i] = min(tree[2 * i], tree[2 * i + 1]);   }   long long get(long long t) {     long long x = pquery(t, t, 1, 1000000, 1);     long long y = pquery(1, t - 1, 1, 1000000, 1);     y = min(y, 0ll);     return x - y + 1;   }   int main() {     ios::sync_with_stdio(false);     cin.tie(0);     cout.tie(0);     build(1, 1000000, 1);     cin >> q;     for (int i = 1; i <= q; i++) {       char c;       long long in;       cin >> c;       if (c ==  + ) {         cin >> ti[i] >> di[i];         upd(ti[i], 1000000, 1, 1000000, 1, di[i]);       } else if (c ==  - ) {         cin >> in;         upd(ti[in], 1000000, 1, 1000000, 1, -di[in]);       } else if (c ==  ? ) {         cin >> in;         cout << get(in) << endl;       }     }   }   