func_code_string: #include <bits/stdc++.h>   using namespace std;   const double PI = acos(-1.0);   const double EPS = 1e-6;   const long long oo = 1LL << 60;   const int INF = 0x3f3f3f3f;   const int MOD = 1e9 + 7;   const int N = 100005;   struct segTree {     int num;     long long sum[5];   } node[N << 2];   struct Query {     int type, num;   } q[N];   void pushup(int rt) {     node[rt].num = (node[(rt << 1)].num + node[(rt << 1 | 1)].num) % 5;     int leftSonNum = node[(rt << 1)].num;     for (int i = 0; i < 5; ++i)       node[rt].sum[i] = node[(rt << 1)].sum[i] +                         node[(rt << 1 | 1)].sum[(i - leftSonNum + 5) % 5];   }   void update(int l, int r, int rt, int p, int v) {     if (l == r) {       node[rt].num = (v > 0);       node[rt].sum[1] = (v > 0 ? v : 0);       return;     }     if (p <= ((l + r) >> 1))       update(l, ((l + r) >> 1), (rt << 1), p, v);     else       update(((l + r) >> 1) + 1, r, (rt << 1 | 1), p, v);     pushup(rt);   }   vector<int> arr;   int pos[N];   int main() {     int n;     char s[5];     scanf( %d , &n);     for (int i = 0; i < n; ++i) {       scanf( %s , s);       if (s[0] ==  a ) {         scanf( %d , &q[i].num);         q[i].type = 1;         arr.push_back(q[i].num);       } else if (s[0] ==  d ) {         scanf( %d , &q[i].num);         q[i].type = 2;       } else         q[i].type = 0;     }     sort((arr).begin(), (arr).end());     arr.erase(unique((arr).begin(), (arr).end()), arr.end());     for (int i = 0; i < n; ++i)       if (q[i].type)         pos[i] =             lower_bound((arr).begin(), (arr).end(), q[i].num) - arr.begin() + 1;     int siz = (int(arr.size()));     for (int i = 0; i < n; ++i) {       if (q[i].type == 1)         update(1, siz, 1, pos[i], q[i].num);       else if (q[i].type == 2)         update(1, siz, 1, pos[i], -q[i].num);       else         printf( %I64d n , node[1].sum[3]);     }     return 0;   }   