#include <bits/stdc++.h>
using namespace std;
const int inf = 0x3f3f3f3f, mod = 1000000007;
const double pi = 3.1415926535897932, eps = 1e-6;
void chmax(int &x, int y) {
  if (x < y) x = y;
}
void chmin(int &x, int y) {
  if (x > y) x = y;
}
int ran() {
  static int x = 1364684679;
  x += (x << 2) + 1;
  return x;
}
struct node {
  int k, w, sz;
  long long dat[5];
  node *l, *r;
  static node *getnew(node *w = NULL) {
    static node *list = NULL;
    if (w) {
      w->r = list;
      list = w;
      return NULL;
    }
    if (!list) {
      node *q = new node[10000];
      for (int i = 0; i < 10000; i++) {
        q[i].w = ran();
        q[i].r = list;
        list = q + i;
      }
    }
    node *p = list;
    list = list->r;
    p->l = p->r = NULL;
    return p;
  }
  void down() {}
  void update() {
    for (int(i) = (0); (i) <= (4); (i)++) dat[i] = 0;
    sz = 1;
    if (l) {
      sz += l->sz;
      for (int(i) = (0); (i) <= (4); (i)++) dat[i] += l->dat[i];
    }
    dat[(sz + 4) % 5] += k;
    if (r) {
      for (int(i) = (0); (i) <= (4); (i)++) dat[(sz + i) % 5] += r->dat[i];
      sz += r->sz;
    }
  }
};
struct Treap {
  node *root;
  Treap() { root = NULL; }
  static void merge(node *&p, node *x, node *y) {
    if (!x || !y) {
      p = x ? x : y;
    } else if (x->w < y->w) {
      x->down();
      merge(x->r, x->r, y);
      x->update();
      p = x;
    } else {
      y->down();
      merge(y->l, x, y->l);
      y->update();
      p = y;
    }
  }
  static void cut(node *p, node *&x, node *&y, int a) {
    if (!p) {
      x = y = NULL;
      return;
    }
    if (p->k >= a) {
      y = p;
      cut(p->l, x, y->l, a);
      y->update();
    } else {
      x = p;
      cut(p->r, x->r, y, a);
      x->update();
    }
  }
  void del(node *&p, int a) {
    node *q, *r, *s;
    cut(p, q, r, a);
    cut(r, s, r, a + 1);
    merge(p, q, r);
  }
  void del(int a) { del(root, a); }
  void ins(node *&p, int a) {
    node *q, *r, *s;
    s = node::getnew();
    s->dat[0] = s->k = a;
    s->sz = 1;
    cut(p, q, r, a);
    cout << "Q:" << ((q) ? (q)->sz : 0) << ' ' << "R:" << ((r) ? (r)->sz : 0)
         << endl;
    merge(q, q, s);
    cout << "Q2:" << ((q) ? (q)->sz : 0) << endl;
    merge(p, q, r);
    cout << "P:" << ((p) ? (p)->sz : 0) << endl;
  }
  void ins(int a) { ins(root, a); }
} T;
int n, m, len;
int main() {
  ios::sync_with_stdio(false);
  cin >> n;
  for (int(i) = (1); (i) <= (n); (i)++) {
    string s;
    int k;
    cin >> s;
    if (s[0] == 's')
      cout << T.root->dat[2] << '\n';
    else if (s[0] == 'a') {
      cin >> k;
      T.ins(k);
      for (int(i) = (0); (i) <= (4); (i)++) cout << T.root->dat[i] << ' ';
      cout << endl;
    } else {
      cin >> k;
      T.del(k);
    }
  }
  return 0;
}
