#include <bits/stdc++.h>
using namespace std;
pair<char, int> ev[100000];
vector<int> mp;
int sz, ii[100001], z[400100];
struct d {
  long long x[5];
  d() {}
  inline void rt(int of) {
    long long t[5];
    int k = of % 5;
    if (k < 0) k += 5;
    for (int i = 0; i < 5; ++i) {
      t[k] = x[i];
      if (++k == 5) k = 0;
    }
    for (int i = 0; i < 5; ++i) x[i] = t[i];
  }
  inline d operator+(const d &o) const {
    d t;
    for (int i = 0; i < 5; ++i) t.x[i] = x[i] + o.x[i];
    return t;
  }
} s[400100];
inline int gti(int i) {
  int an = 0;
  while (i) an += ii[i], i ^= i & -i;
  return an;
}
inline void adi(int i, int x) {
  while (i <= sz) ii[i] += x, i += i & -i;
}
inline void sl(int id, int of) {
  s[id].rt(of);
  z[id] += of;
}
inline void wa(int id) {
  if (z[id]) {
    sl(id << 1, z[id]);
    sl(id << 1 | 1, z[id]);
    z[id] = 0;
  }
}
void ad(int i, int x, int c, int id = 1, int l = 1, int r = sz + 1) {
  if (l + 1 == r) {
    s[id].x[c] += x;
    return;
  }
  wa(id);
  int m = l + r >> 1, a = id << 1, b = id << 1 | 1;
  if (i < m)
    ad(i, x, c, a, l, m);
  else
    ad(i, x, c, b, m, r);
  s[id] = s[a] + s[b];
}
void rt(int of, int x, int y = sz + 1, int id = 1, int l = 1, int r = sz + 1) {
  if (x >= r || y <= l) return;
  if (l >= x && r <= y) {
    sl(id, of);
    return;
  }
  wa(id);
  int m = l + r >> 1, a = id << 1, b = id << 1 | 1;
  rt(of, x, y, a, l, m);
  rt(of, x, y, b, m, r);
  s[id] = s[a] + s[b];
}
int main() {
  int n;
  scanf("%d", &n);
  char in[5];
  for (int i = 0; i < n; ++i) {
    scanf("%s", in);
    if (in[0] == 's') continue;
    int t;
    scanf("%d", &t);
    if (in[0] == 'a')
      ev[i] = make_pair(1, t);
    else
      ev[i] = make_pair(2, t);
    mp.push_back(t);
  }
  sort(mp.begin(), mp.end());
  sz = unique(mp.begin(), mp.end()) - mp.begin();
  mp.resize(sz);
  for (int i = 0; i < n; ++i) {
    if (ev[i].first) {
      int of = ev[i].first == 2 ? -1 : 1;
      int x = lower_bound(mp.begin(), mp.end(), ev[i].second) - mp.begin() + 1;
      int z = gti(x - 1);
      adi(x, of);
      if (of == 1) {
        rt(of, x + 1);
        ad(x, ev[i].second, z % 5);
      } else {
        ad(x, -ev[i].second, z % 5);
        rt(of, x + 1);
      }
    } else
      printf("%lld\n", s[1].x[2]);
  }
}
