#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:64000000")
using namespace std;
template <class T>
T sqr(T a) {
  return a * a;
}
struct node {
  int x;
  long long key, sum;
  node *left, *right;
};
typedef node *pnode;
node pool[110000];
int pc;
pnode h[5];
pnode lh[5];
pnode rh[5];
void update(pnode p) {
  if (p)
    p->sum =
        p->key + (p->left ? p->left->sum : 0) + (p->right ? p->right->sum : 0);
}
pnode merge(pnode l, pnode r) {
  if (!l || !r) return !l ? r : l;
  if (l->x < r->x) {
    l->right = merge(l->right, r);
    update(l);
    return l;
  } else {
    r->left = merge(l, r->left);
    update(r);
    return r;
  }
}
void split(pnode t, pnode &l, pnode &r, long long key) {
  if (!t)
    l = r = 0;
  else if (key < t->key) {
    split(t->left, l, t->left, key);
    r = t;
  } else {
    split(t->right, t->right, r, key);
    l = t;
  }
  update(t);
}
void add(pnode &t, pnode p) {
  if (!t)
    t = p;
  else if (t->x < p->x)
    add(p->key < t->key ? t->left : t->right, p);
  else {
    split(t, p->left, p->right, p->key);
    t = p;
  }
  update(t);
}
void remove(pnode &t, long long key) {
  if (!t) return;
  if (t->key == key)
    t = merge(t->left, t->right);
  else
    remove(key < t->key ? t->left : t->right, key);
  update(t);
}
long long getmax(pnode t) {
  return t->right ? max(t->key, getmax(t->right)) : t->key;
}
int main() {
  int q;
  cin >> q;
  pnode p;
  for (int i = 0; i < q; i++) {
    string scmd;
    cin >> scmd;
    if (scmd == "add") {
      int arg;
      cin >> arg;
      int mi = 4, mv = -1;
      for (int i = 0; i < 5; i++) {
        split(h[i], lh[i], rh[i], arg);
        if (lh[i]) {
          int cur = getmax(lh[i]);
          if (cur > mv) {
            mi = i;
            mv = cur;
          }
        }
      }
      for (int i = 0; i < 5; i++)
        h[(i + 1) % 5] = merge(lh[(i + 1) % 5], rh[i]);
      pnode pp = &pool[pc++];
      pp->key = arg;
      pp->x = rand();
      pp->sum = arg;
      add(h[(mi + 1) % 5], pp);
    } else if (scmd == "del") {
      int arg;
      cin >> arg;
      for (int i = 0; i < 5; i++) remove(h[i], arg);
      for (int i = 0; i < 5; i++) split(h[i], lh[i], rh[i], arg);
      for (int i = 0; i < 5; i++) h[i] = merge(lh[i], rh[(i + 1) % 5]);
    } else {
      if (h[2])
        cout << h[2]->sum << endl;
      else
        cout << 0 << endl;
    }
  }
  return 0;
}
