#include <bits/stdc++.h>
using namespace std;
long long sumv[100005 << 2][5];
int lazy[100005 << 2];
long long tmp[5];
int value[100005];
int cntv[100005 << 2];
int flag[100005], vv[100005];
int n, m;
void build(int rt, int L, int R) {
  if (L == R) return;
  int mid = L + R >> 1;
  build(rt << 1, L, mid);
  build(rt << 1 | 1, mid + 1, R);
}
void push_up(int rt) {
  for (int i = 0; i < 5; i++) {
    sumv[rt][i] = sumv[rt << 1][i] + sumv[rt << 1 | 1][i];
  }
  cntv[rt] = cntv[rt << 1] + cntv[rt << 1 | 1];
}
void push_down(int rt) {
  if (lazy[rt] != 0) {
    int tt = lazy[rt];
    lazy[rt] = 0;
    for (int i = 0; i < 5; i++) {
      tmp[i] = sumv[rt << 1][i];
    }
    for (int i = 0; i < 5; i++) {
      sumv[rt << 1][i] = tmp[(i - tt + 5) % 5];
    }
    for (int i = 0; i < 5; i++) {
      tmp[i] = sumv[rt << 1 | 1][i];
    }
    for (int i = 0; i < 5; i++) {
      sumv[rt << 1 | 1][i] = tmp[(i - tt + 5) % 5];
    }
    lazy[rt << 1] += tt;
    lazy[rt << 1 | 1] += tt;
    lazy[rt << 1] %= 5;
    lazy[rt << 1 | 1] %= 5;
  }
}
int lower(int rt, int L, int R, int p) {
  if (R <= p) {
    return cntv[rt];
  }
  int mid = L + R >> 1;
  if (p <= mid) {
    return lower(rt << 1, L, mid, p);
  } else {
    return cntv[rt << 1] + lower(rt << 1 | 1, mid + 1, R, p);
  }
}
void modify(int rt, int L, int R, int p, int flag, int id) {
  if (L == R) {
    if (flag) {
      sumv[rt][id] += value[p];
      cntv[rt]++;
    } else {
      sumv[rt][id] -= value[p];
      cntv[rt]--;
    }
    return;
  }
  int mid = L + R >> 1;
  push_down(rt);
  if (p <= mid)
    modify(rt << 1, L, mid, p, flag, id);
  else
    modify(rt << 1 | 1, mid + 1, R, p, flag, id);
  push_up(rt);
}
void update(int rt, int L, int R, int p, int tt) {
  if (p <= L) {
    lazy[rt] += tt;
    for (int i = 0; i < 5; i++) {
      tmp[i] = sumv[rt][i];
    }
    for (int i = 0; i < 5; i++) {
      sumv[rt][i] = tmp[(i - tt + 5) % 5];
    }
    lazy[rt] %= 5;
    return;
  }
  int mid = L + R >> 1;
  push_down(rt);
  if (p <= mid) update(rt << 1, L, mid, p, tt);
  update(rt << 1 | 1, mid + 1, R, p, tt);
  push_up(rt);
}
char ss[10];
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; ++i) {
    int a;
    scanf("%s", ss);
    if (ss[0] == 'a') {
      scanf("%d", &a);
      value[m++] = a;
      flag[i] = 0;
      vv[i] = a;
    } else if (ss[0] == 'd') {
      flag[i] = 1;
      scanf("%d", &a);
      vv[i] = a;
    } else {
      flag[i] = 2;
    }
  }
  if (m == 0) m = 1;
  sort(value, value + m);
  m = unique(value, value + m) - value;
  build(1, 0, m - 1);
  for (int i = 0; i < n; i++) {
    if (flag[i] == 0) {
      int p = lower_bound(value, value + m, vv[i]) - value;
      int rk = 0;
      if (p) rk = lower(1, 0, m - 1, p - 1);
      rk++;
      if (p < m - 1) {
        update(1, 0, m - 1, p + 1, 1);
      }
      modify(1, 0, m - 1, p, 1, rk % 5);
    } else if (flag[i] == 1) {
      int p = lower_bound(value, value + m, vv[i]) - value;
      int rk = 0;
      if (p) rk = lower(1, 0, m - 1, p - 1);
      rk++;
      if (p < m - 1) {
        update(1, 0, m - 1, p + 1, -1);
      }
      modify(1, 0, m - 1, p, 0, rk % 5);
    } else {
      printf("%I64d\n", sumv[1][3]);
    }
  }
  return 0;
}
