#include <bits/stdc++.h>
using namespace std;
const int maxn = 100010;
int c;
map<int, int> mp;
map<int, int>::iterator it;
struct I {
  int f, x;
} ins[maxn];
long long s[maxn << 2][5];
int rev[maxn << 2];
void dorot(int rt, int v) {
  long long tmp[5];
  for (int i = 0; i < 5; i++) tmp[i] = s[rt][i];
  if (v > 0) {
    for (int i = 0; i < 5; i++) s[rt][i] = tmp[(i - (v % 5) + 50) % 5];
  } else if (v < 0) {
    for (int i = 0; i < 5; i++) s[rt][i] = tmp[(i - (v % 5) + 50) % 5];
  }
}
void push_down(int rt) {
  if (rev[rt]) {
    dorot(rt << 1, rev[rt]);
    dorot(rt << 1 | 1, rev[rt]);
    rev[rt << 1] += rev[rt];
    rev[rt << 1 | 1] += rev[rt];
    rev[rt] = 0;
  }
}
void rot(int x, int y, int v, int l, int r, int rt) {
  if (l != r) push_down(rt);
  if (x <= l && y >= r) {
    rev[rt] += v;
    dorot(rt, v);
  } else {
    int m = (l + r) >> 1;
    if (x <= m) rot(x, y, v, l, m, rt << 1);
    if (y > m) rot(x, y, v, m + 1, r, rt << 1 | 1);
    for (int i = 0; i < 5; i++) s[rt][i] = s[rt << 1][i] + s[rt << 1 | 1][i];
  }
}
void add(int x, int v, int p, int l, int r, int rt) {
  if (l == r)
    s[rt][p] += v;
  else {
    push_down(rt);
    int m = (l + r) >> 1;
    if (x <= m)
      add(x, v, p, l, m, rt << 1);
    else
      add(x, v, p, m + 1, r, rt << 1 | 1);
    for (int i = 0; i < 5; i++) s[rt][i] = s[rt << 1][i] + s[rt << 1 | 1][i];
  }
}
int main() {
  scanf("%d", &c);
  char str[10];
  for (int i = 0; i < c; i++) {
    scanf("%s", str);
    if (str[0] == 's')
      ins[i].f = 3;
    else {
      scanf("%d", &ins[i].x);
      ins[i].f = str[0] == 'a' ? 1 : 2;
      mp[ins[i].x] = 1;
    }
  }
  int n = 1;
  for (it = mp.begin(); it != mp.end(); it++) it->second = n++;
  vector<int> v;
  for (int i = 0; i < c; i++) {
    if (ins[i].f == 1) {
      int p = lower_bound(v.begin(), v.end(), ins[i].x) - v.begin() + 1;
      rot(mp[ins[i].x] + 1, n, 1, 1, n, 1);
      add(mp[ins[i].x], ins[i].x, p % 5, 1, n, 1);
      v.insert(v.begin() + p - 1, ins[i].x);
    } else if (ins[i].f == 2) {
      int p = lower_bound(v.begin(), v.end(), ins[i].x) - v.begin() + 1;
      rot(mp[ins[i].x] + 1, n, -1, 1, n, 1);
      add(mp[ins[i].x], -ins[i].x, p % 5, 1, n, 1);
      v.erase(v.begin() + p - 1);
    } else
      printf("%I64d\n", s[1][3]);
  }
  return 0;
}
