#include <bits/stdc++.h>
using namespace std;
long long n, m, i, j, b, sum[405][6], x, ans;
deque<long long> dq[405];
string op;
void rst(long long x) {
  int i;
  memset(sum[x], 0, sizeof(sum[x]));
  for (i = 0; i < dq[x].size(); i++) {
    sum[x][(i + 1) % 5] += dq[x][i];
  }
}
int main() {
  scanf("%I64d", &n);
  b = sqrt(n);
  while ((b < 1) || (b % 5 != 0)) b++;
  while (n--) {
    scanf(" ");
    {
      char ss[3];
      scanf("%s", ss);
      (op) = ss;
    };
    if (op == "add") {
      scanf("%I64d", &x);
      for (i = 2; !dq[i].empty(); i++) {
        if (dq[i][0] > x) break;
      }
      i--;
      dq[i].insert(lower_bound(dq[i].begin(), dq[i].end(), x), x);
      rst(i);
      while (dq[i].size() > b) {
        long long mem = dq[i].back();
        dq[i].pop_back();
        sum[i][1] -= mem;
        dq[i + 1].push_front(mem);
        sum[i + 1][5] = sum[i + 1][4];
        for (j = 4; j; j--) sum[i + 1][j] = sum[i + 1][j - 1];
        sum[i + 1][0] = sum[i + 1][5];
        sum[i + 1][1] += mem;
        i++;
      }
    }
    if (op == "del") {
      scanf("%I64d", &x);
      for (i = 1; !dq[i].empty(); i++) {
        if (dq[i][0] > x) break;
      }
      i--;
      dq[i].erase(lower_bound(dq[i].begin(), dq[i].end(), x));
      rst(i);
      while (!dq[i + 1].empty() && dq[i].size() < b) {
        long long mem = dq[i + 1].front();
        dq[i + 1].pop_front();
        dq[i].push_back(mem);
        sum[i][0] += mem;
        sum[i + 1][1] -= mem;
        sum[i + 1][5] = sum[i + 1][0];
        for (j = 0; j <= 4; j++) sum[i + 1][j] = sum[i + 1][j + 1];
        i++;
      }
    }
    if (op == "sum") {
      ans = 0;
      for (i = 1; !dq[i].empty(); i++) {
        ans += sum[i][3];
      }
      printf("%I64d\n", ans);
    }
  }
  return 0;
}
