#include <bits/stdc++.h>   using namespace std;   struct segment_tree {     long long a[1 << 20][5];     int sz[1 << 20];     int N;     void initi(int x) {       N = 1;       while (N < x) N <<= 1;     }     void pushup(int x) {       int pos = x + N - 1;       while (x > 0) {         x = (x - 1) >> 1;         sz[x] = sz[(x << 1) + 1] + sz[(x << 1) + 2];         for (int i = 0; i < 5; i++) a[x][i] = 0;         for (int i = 0; i < 5; i++) {           a[x][i] += a[(x << 1) + 1][i];           a[x][(i + sz[(x << 1) + 1]) % 5] += a[(x << 1) + 2][i];         }       }     }     void ins(int x, int y) {       int pos = x + N - 1;       sz[pos]++;       a[pos][0] = y;       pushup(pos);     }     void del(int x) {       int pos = x + N - 1;       sz[pos]--;       a[pos][0] = 0;       pushup(pos);     }   } tr;   int n;   int s[100010];   vector<int> v;   vector<int> vc;   map<int, int> mp;   int l;   int main() {     cin >> n;     for (int i = 0; i < n; i++) {       string t;       int x;       cin >> t;       if (t ==  add ) {         cin >> x;         v.push_back(x);         vc.push_back(x);       } else if (t ==  del ) {         cin >> x;         v.push_back(-x);       } else {         v.push_back(0);       }     }     sort(vc.begin(), vc.end());     tr.initi((int)vc.size());     for (int i = 0; i < vc.size(); i++) {       mp[vc[i]] = i;     }     for (int i = 0; i < v.size(); i++) {       if (!v[i]) {         printf( %lld n , tr.a[0][2]);       } else if (v[i] < 0) {         tr.del(mp[-v[i]]);       } else {         tr.ins(mp[v[i]], v[i]);       }     }     return 0;   }   