#include <bits/stdc++.h>   #pragma comment(linker,  /STACK:10000000 )   using namespace std;   template <typename T>   inline T abs(T a) {     return ((a < 0) ? -a : a);   }   template <typename T>   inline T sqr(T a) {     return a * a;   }   const int INF = (int)1E9 + 7;   const long double EPS = 1E-9;   const long double PI = 3.1415926535897932384626433832795;   const int NMAX = 200 * 1000;   int a[NMAX], sza;   int t[NMAX * 4], cnt[NMAX * 4];   long long sum[NMAX * 4][5];   char buf[300];   void upd(int pos, int idx, int lf, int rg) {     if (lf == rg) {       t[idx] ^= 1;       memset(sum[idx], 0, sizeof sum[idx]);       sum[idx][0] = t[idx] * 1LL * a[pos];       cnt[idx] = t[idx];       return;     }     int mid = (lf + rg) >> 1;     if (pos <= mid)       upd(pos, 2 * idx + 1, lf, mid);     else       upd(pos, 2 * idx + 2, mid + 1, rg);     cnt[idx] = cnt[2 * idx + 1] + cnt[2 * idx + 2];     for (int i = 0; i < int(5); ++i) {       long long& ans = sum[idx][i];       int f = (cnt[2 * idx + 1]) % 5;       f = (i - f + 5) % 5;       ans = sum[2 * idx + 1][i] + sum[2 * idx + 2][f];     }   }   void change(int val) {     int pos = lower_bound(a, a + sza, val) - a;     upd(pos, 0, 0, sza - 1);   }   inline long long getSum() { return sum[0][2]; }   int main() {     int n;     scanf( %d , &n);     gets(buf);     vector<pair<int, int> > q;     for (int i = 0; i < int(n); ++i) {       gets(buf);       if (buf[0] ==  a ) {         int val;         sscanf(buf,  add %d , &val);         q.push_back(make_pair(1, val));         a[sza++] = val;       }       if (buf[0] ==  d ) {         int val;         sscanf(buf,  del %d , &val);         q.push_back(make_pair(-1, val));         a[sza++] = val;       }       if (buf[0] ==  s ) {         q.push_back(make_pair(-1, -1));       }     }     sort(a, a + sza);     sza = unique(a, a + sza) - a;     for (int i = 0; i < int(n); ++i) {       if (q[i] == pair<int, int>(-1, -1)) {         printf( %I64d n , getSum());         continue;       }       if (q[i].first == 1) {         change(q[i].second);       } else {         change(q[i].second);       }     }     return 0;   }   