#include <bits/stdc++.h>
using namespace std;
void ga(int N, int *A) {
  for (int i(0); i < N; i++) scanf("%d", A + i);
}
map<int, int> T, V;
char s[666];
long long X[(100005 / 333 + 1)][5];
vector<int> g[(100005 / 333 + 1)];
int N, O[100005], A[100005], C[100005], S[100005];
void st(int I) {
  (memset(X[I], 0, sizeof(X[I])));
  for (int i(0); i < (int)g[I].size(); i++) X[I][i % 5] += g[I][i];
}
void add(int a) {
  assert(!V[a]);
  if (V[a]++) return;
  int I = T[a], J = g[I].size();
  g[I].push_back(a);
  while (J && g[I][J] < g[I][J - 1]) swap(g[I][J], g[I][J - 1]), --J;
  st(I), ++S[I];
}
void del(int a) {
  assert(V[a]);
  if (--V[a]) return;
  int I = T[a], J = 0;
  while (g[I][J] ^ a) ++J;
  for (int k(J + 1); k < (int)g[I].size(); k++) swap(g[I][k], g[I][k - 1]);
  g[I].pop_back(), st(I), --S[I];
}
long long sm() {
  long long M = 0, T = 0;
  for (int i(0); i < (100005 / 333 + 1); i++) T += X[i][(M + 2) % 5], M += S[i];
  return T;
}
int main(void) {
  scanf("%d", &N);
  for (int i(0); i < N; i++) {
    scanf("%s", s), O[i] = *s ^ 97 ? *s ^ 100 ? 2 : 1 : 0;
    if (O[i] ^ 2) scanf("%d", A + i), C[i] = A[i];
  }
  sort(C, C + N);
  for (int i(0); i < N; i++) T[C[i]] = i / 333;
  for (int i(0); i < N; i++)
    if (!O[i])
      add(A[i]);
    else if (O[i] ^ 2)
      del(A[i]);
    else
      printf("%lld\n", sm());
  return 0;
}
