#include <bits/stdc++.h>
using namespace std;
void fre() {
  freopen("c://test//input.in", "r", stdin);
  freopen("c://test//output.out", "w", stdout);
}
template <class T1, class T2>
inline void gmax(T1 &a, T2 b) {
  if (b > a) a = b;
}
template <class T1, class T2>
inline void gmin(T1 &a, T2 b) {
  if (b < a) a = b;
}
const int N = 1e5 + 10, M = 0, Z = 1e9 + 7, ms63 = 0x3f3f3f3f;
int casenum, casei;
int n;
char s[5];
int x;
int b[N];
int g;
pair<int, int> q[N];
int num[1 << 18];
long long sum[1 << 18][5];
void build(int o, int l, int r) {
  num[o] = 0;
  memset(sum[o], 0, sizeof(sum[o]));
  if (l == r) return;
  int mid = (l + r) >> 1;
  build(o << 1, l, mid);
  build(o << 1 | 1, mid + 1, r);
}
void pushup(int o) {
  num[o] = num[o << 1] + num[o << 1 | 1];
  int nm = 5 - num[o << 1] % 5;
  for (int i = 0; i < 5; ++i)
    sum[o][i] = sum[o << 1][i] + sum[o << 1 | 1][(i + nm) % 5];
}
int P, V;
void add(int o, int l, int r) {
  if (l == r) {
    num[o] += V;
    sum[o][1] += b[l] * V;
    return;
  }
  int mid = (l + r) >> 1;
  P <= mid ? add(o << 1, l, mid) : add(o << 1 | 1, mid + 1, r);
  pushup(o);
}
int main() {
  while (~scanf("%d", &n)) {
    g = 0;
    for (int i = 1; i <= n; ++i) {
      scanf("%s", s);
      if (s[0] == 'a') {
        scanf("%d", &x);
        q[i] = make_pair(1, x);
        b[++g] = x;
      } else if (s[0] == 'd') {
        scanf("%d", &x);
        q[i] = make_pair(2, x);
        b[++g] = x;
      } else
        q[i] = make_pair(3, 0);
    }
    sort(b + 1, b + g + 1);
    g = unique(b + 1, b + g + 1) - b - 1;
    if (g == 0) g = 1;
    build(1, 1, g);
    for (int i = 1; i <= n; ++i) {
      if (q[i].first == 1) {
        P = lower_bound(b + 1, b + g + 1, q[i].second) - b;
        V = 1;
        add(1, 1, g);
      } else if (q[i].first == 2) {
        P = lower_bound(b + 1, b + g + 1, q[i].second) - b;
        V = -1;
        add(1, 1, g);
      } else
        printf("%lld\n", sum[1][3]);
    }
  }
  return 0;
}
