#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:16777216")
using namespace std;
const double PI = 2 * acos(0.0);
const double EPS = 1e-8;
const int INF = 1000000000;
struct trec {
  int q;
  int pres;
  long long s5[5];
  bool u[300];
  int a[300];
};
string op[100000];
int n, p[100000];
int tt, q, o[100000];
trec t[100000 / 300 + 1];
void addtot(int p, int v) {
  t[v].a[t[v].q] = p;
  t[v].q++;
};
long long getmed() {
  int b = 0;
  long long res = 0;
  for (int i = (int)(0); i < (int)(tt); ++i) {
    res += t[i].s5[(7 - b) % 5];
    b = (b + t[i].pres) % 5;
  };
  return res;
};
void recalcs5(int v) {
  int q = 0;
  memset(t[v].s5, 0, sizeof(t[v].s5));
  for (int i = 0; i < 300 && q < t[v].pres; ++i)
    if (t[v].u[i]) {
      t[v].s5[q % 5] += t[v].a[i];
      ++q;
    };
};
void add(int v) {
  int i = 0;
  while (i < tt - 1 && t[i + 1].a[0] <= v) ++i;
  int j = 0;
  while (t[i].a[j] != v) ++j;
  t[i].u[j] = true;
  ++t[i].pres;
  recalcs5(i);
};
void del(int v) {
  int i = 0;
  while (i < tt - 1 && t[i + 1].a[0] <= v) ++i;
  int j = 0;
  while (t[i].a[j] != v) ++j;
  t[i].u[j] = false;
  --t[i].pres;
  recalcs5(i);
};
int main() {
  scanf("%d", &n);
  for (int i = (int)(0); i < (int)(n); ++i) {
    cin >> op[i];
    if (op[i] != "sum") cin >> p[i];
  };
  for (int i = (int)(0); i < (int)(n); ++i)
    if (op[i] == "add") o[q++] = p[i];
  sort(o, o + q);
  for (int i = (int)(0); i < (int)(q); ++i) {
    if (i % 300 == 0) ++tt;
    addtot(o[i], tt - 1);
  };
  for (int i = (int)(0); i < (int)(n); ++i)
    if (op[i] == "add")
      add(p[i]);
    else if (op[i] == "del")
      del(p[i]);
    else
      cout << getmed() << endl;
  return 0;
};
