#include <bits/stdc++.h>
using namespace std;
const int MAX = 1e5 + 7;
long long a[MAX << 2][5], num[MAX << 2];
char s[MAX][5];
long long x[MAX], y[MAX];
void pushup(int rt) {
  for (int i = 1; i <= 5; i++)
    a[rt][i] = a[rt << 1][i] + a[rt << 1 | 1][((i - num[rt << 1]) % 5 + 5) % 5];
  num[rt] = num[rt << 1] + num[rt << 1 | 1];
}
void update(int rt, int l, int r, int pos, int v, int op) {
  if (l == r) {
    a[rt][1] = v * op;
    num[rt] = op ? 1 : 0;
    return;
  }
  int mid = (l + r) >> 1;
  if (pos <= mid)
    update(rt << 1, l, mid, pos, v, op);
  else
    update(rt << 1 | 1, mid + 1, r, pos, v, op);
  pushup(rt);
}
int main() {
  int n;
  while (scanf("%d", &n) != EOF) {
    int tot = 0;
    for (int i = 0; i < n; i++) {
      scanf("%s", s[i]);
      if (s[i][0] != 's') {
        scanf("%d", &x[i]);
        y[tot++] = x[i];
      }
    }
    sort(y, y + tot);
    int cnt = unique(y, y + tot) - y;
    for (int i = 0; i < n; i++) {
      if (s[i][0] == 'a') {
        int pos = lower_bound(y, y + cnt, x[i]) - y + 1;
        update(1, 1, cnt, pos, x[i], 1);
      } else if (s[i][0] == 'd') {
        int pos = lower_bound(y, y + cnt, x[i]) - y + 1;
        update(1, 1, cnt, pos, x[i], 0);
      } else
        printf("%lld\n", a[1][3]);
    }
  }
  return 0;
}
