#include <bits/stdc++.h>
using namespace std;
struct Treap_Node {
  Treap_Node *left, *right;
  int value, fix, size;
  long long sum[5];
};
void Treap_Update(Treap_Node *&P) {
  P->size = 1;
  if (P->left) P->size += P->left->size;
  int pre = P->size;
  if (P->right) P->size += P->right->size;
  memset(P->sum, 0, sizeof(P->sum));
  if (P->left) {
    for (int i = (0); i < (int)(5); ++i) {
      P->sum[i] += P->left->sum[i];
    }
  }
  P->sum[pre % 5] += P->value;
  if (P->right) {
    for (int i = (0); i < (int)(5); ++i) {
      P->sum[(pre + i) % 5] += P->right->sum[i];
    }
  }
}
void Treap_Left_Rotate(Treap_Node *&a) {
  Treap_Node *b = a->right;
  a->right = b->left;
  b->left = a;
  a = b;
}
void Treap_Right_Rotate(Treap_Node *&a) {
  Treap_Node *b = a->left;
  a->left = b->right;
  b->right = a;
  a = b;
}
void Treap_Insert(Treap_Node *&P, int value, int pos) {
  if (!P) {
    P = new Treap_Node;
    P->value = value;
    P->fix = rand();
    P->size = 1;
    P->sum[1] = value;
    P->sum[0] = 0;
    P->left = NULL;
    P->right = NULL;
  } else if (((P->left) ? (P->left)->size : 0) >= pos) {
    Treap_Insert(P->left, value, pos);
    if (P->left->fix < P->fix) {
      Treap_Right_Rotate(P);
      Treap_Update(P->right);
    }
    Treap_Update(P);
  } else {
    Treap_Insert(P->right, value, pos - ((P->left) ? (P->left)->size : 0) - 1);
    if (P->right->fix < P->fix) {
      Treap_Left_Rotate(P);
      Treap_Update(P->left);
    }
    Treap_Update(P);
  }
}
void Treap_Insert(Treap_Node *&P, int value) {
  if (!P) {
    P = new Treap_Node;
    P->value = value;
    P->fix = rand();
    P->size = 1;
    memset(P->sum, 0, sizeof(P->sum));
    P->sum[1] = value;
    P->left = NULL;
    P->right = NULL;
  } else if (value <= P->value) {
    Treap_Insert(P->left, value);
    if (P->left->fix < P->fix) {
      Treap_Right_Rotate(P);
      Treap_Update(P->right);
    }
    Treap_Update(P);
  } else {
    Treap_Insert(P->right, value);
    if (P->right->fix < P->fix) {
      Treap_Left_Rotate(P);
      Treap_Update(P->left);
    }
    Treap_Update(P);
  }
}
void Treap_Delete(Treap_Node *&P, int value) {
  if (value == P->value) {
    if (!P->left || !P->right) {
      Treap_Node *t = P;
      P = (P->left ? P->left : P->right);
      delete t;
    } else {
      if (P->left->fix < P->right->fix) {
        Treap_Right_Rotate(P);
        Treap_Delete(P->right, value);
      } else {
        Treap_Left_Rotate(P);
        Treap_Delete(P->left, value);
      }
    }
  } else if (value < P->value) {
    Treap_Delete(P->left, value);
  } else {
    Treap_Delete(P->right, value);
  }
  if (P) Treap_Update(P);
}
void Treap_Split(Treap_Node *P, Treap_Node *&x, Treap_Node *&y, int a) {
  if (!a) {
    x = NULL;
    y = P;
  } else if (a == ((P) ? (P)->size : 0)) {
    x = P;
    y = NULL;
  } else {
    if (((P->left) ? (P->left)->size : 0) >= a) {
      y = P;
      Treap_Split(P->left, x, y->left, a);
      Treap_Update(y);
    } else {
      x = P;
      Treap_Split(P->right, x->right, y,
                  a - ((P->left) ? (P->left)->size : 0) - 1);
      Treap_Update(x);
    }
  }
}
void Treap_Merge(Treap_Node *&P, Treap_Node *x, Treap_Node *y) {
  if (!x || !y) {
    P = x ? x : y;
  } else if (x->fix < y->fix) {
    Treap_Merge(x->right, x->right, y);
    Treap_Update(x);
    P = x;
  } else {
    Treap_Merge(y->left, x, y->left);
    Treap_Update(y);
    P = y;
  }
}
Treap_Node *root;
void Revolve(int start, int end) {
  Treap_Node *head, *mid, *tail;
  Treap_Split(root, head, tail, end + 1);
  Treap_Split(head, head, mid, start);
  Treap_Merge(head, mid, head);
  Treap_Merge(root, head, tail);
}
void Treap_Init(Treap_Node *&P) {
  if (P == NULL) {
    return;
  }
  Treap_Init(P->left);
  Treap_Init(P->right);
  delete P;
  P = NULL;
}
int main() {
  Treap_Init(root);
  int n;
  cin >> n;
  root = NULL;
  for (int i = (0); i < (int)(n); ++i) {
    string s;
    int x;
    cin >> s;
    if (s[0] == 's') {
      if (!root)
        printf("0\n");
      else
        printf("%I64d\n", root->sum[3]);
      continue;
    }
    cin >> x;
    if (s[0] == 'a') {
      Treap_Insert(root, x);
    } else if (s[0] == 'd') {
      Treap_Delete(root, x);
    }
  }
  return 0;
}
