#include <bits/stdc++.h>
using namespace std;
struct Node {
  int v, size, fix;
  long long sum[5];
  Node *left, *right;
  Node() {}
  Node(int _v, Node *l = NULL, Node *r = NULL) {
    v = _v, fix = rand(), left = l, right = r;
    memset(sum, 0, sizeof(sum));
    sum[0] = v, size = 1;
  }
  int lsize() { return left == NULL ? 0 : left->size; }
  int rsize() { return right == NULL ? 0 : right->size; }
  void Push_up() {
    memset(sum, 0, sizeof(sum));
    size = 0;
    if (left != NULL) {
      for (int i = 0; i < 5; i++) {
        sum[i] = left->sum[i];
      }
    }
    size = lsize(), sum[size % 5] += v, size++;
    if (right != NULL) {
      for (int i = 0; i < 5; i++) {
        sum[(size + i) % 5] += right->sum[i];
      }
    }
    size += rsize();
  }
} *T = NULL;
typedef pair<Node *, Node *> pnn;
void print(Node *T, int v, int p) {
  if (T == NULL) return;
  for (int i = 0; i < v; i++) {
    printf("  ");
  }
  string s = p == 0 ? "root" : p == 1 ? "left" : "right";
  printf("%s:%d   sum:", s.c_str(), T->v);
  for (int i = 0; i < 5; i++) {
    printf("%I64d ", T->sum[i]);
  }
  printf("\n");
  print(T->left, v + 1, 1), print(T->right, v + 1, 2);
}
Node *merge(Node *l, Node *r) {
  if (l == NULL || r == NULL) {
    return l == NULL ? r : l;
  }
  if (l->fix < r->fix) {
    l->right = merge(l->right, r);
    l->Push_up();
    return l;
  }
  r->left = merge(l, r->left);
  r->Push_up();
  return r;
}
pnn split(Node *T, int v) {
  if (T == NULL) return make_pair<Node *, Node *>(NULL, NULL);
  if (v > T->v) {
    pnn t = split(T->right, v);
    Node *l = T, *r = t.second;
    l->right = t.first, l->Push_up();
    return make_pair(l, r);
  }
  pnn t = split(T->left, v);
  Node *l = t.first, *r = T;
  r->left = t.second, r->Push_up();
  return make_pair(l, r);
}
void add(int x) {
  pnn t = split(T, x);
  T = merge(t.first, merge(new Node(x), t.second));
}
void del(int x) {
  pnn t1 = split(T, x);
  pnn t2 = split(t1.second, x + 1);
  if (t2.first != NULL) delete t2.first;
  T = merge(t1.first, t2.second);
}
long long sum() { return T == NULL ? 0 : T->sum[2]; }
char buf[10];
string read() {
  scanf("%s", buf);
  return buf;
}
int main() {
  srand((int)time(NULL));
  int n;
  scanf("%d", &n);
  for (int i = 0; i < n; i++) {
    string op = read();
    int x;
    if (op == "add") {
      scanf("%d", &x);
      add(x);
    }
    if (op == "del") {
      scanf("%d", &x);
      del(x);
    }
    if (op == "sum") {
      printf("%I64d\n", sum());
    }
  }
  return 0;
}
