#include <bits/stdc++.h>
using namespace std;
long long int digitsum(long long int x);
int main() {
  long long int t;
  cin >> t;
  stack<long long int> R;
  stack<long long int> L;
  map<long long int, pair<long long int, long long int> > pos;
  for (long long int i = 0; i < t; i++) {
    char c;
    long long int id;
    cin >> c >> id;
    if (c == 'L') {
      L.push(id);
      pos[id] = make_pair(L.size(), 1);
    } else if (c == 'R') {
      R.push(id);
      pos[id] = make_pair(R.size(), 0);
    } else {
      pair<long long int, pair<long long int, long long int> > temp1 =
          *(pos.find(id));
      pair<long long int, long long int> temp = temp1.second;
      if (temp.second == 1) {
        cout << min(L.size() - temp.first, R.size() + temp.first - 1) << endl;
      } else {
        cout << min(R.size() - temp.first, L.size() + temp.first - 1) << endl;
      }
    }
  }
  return 0;
}
