#include <bits/stdc++.h>
using namespace std;
struct node{
int l,r,sum;
node *left, *right;
node(int low,int high){
l = low;
r = high;
sum = (high - low + 1);
left = NULL;
right = NULL;
}
void extend(){
if(left == NULL){
int mid = (l+r)>>1;
left = new node(l,mid);
right = new node(mid+1,r);
}
}
};
node *Root;
void updateSegTree(int index, int delta,node *root){
if(index < root->l || index > root->r) return;
if(root->l == root->r){
root->sum += delta;
return;
}
root->extend();
updateSegTree(index,delta,root->left);
updateSegTree(index,delta,root->right);
root->sum = (root->left)->sum + (root->right)->sum;
}
int query(int k,node *root){
if(root->l == root->r) return root->l;
root->extend();
if((root->left)->sum >= k) return query(k,root->left);
return query(k - ((root->left)->sum),root->right);
}
int main(){
int n,m,num;
char op;
scanf("%d%d",&n,&m);
Root = new node(1,n);
for(int i=1;i<=m;i++){
scanf(" %c %d",&op,&num);
int q = query(num,Root);
if(op == 'L') printf("%d\n",q);
else updateSegTree(q,-1,Root);
}
return 0;
}