#include<bits/stdc++.h>
using namespace std;
#define int long long
const int INF=1000000005;
int m[500005],n;
void upd(int i, int l, int r, int p, int v) {
if (l==r) m[i]=v;
else {
int mid=(l+r)/2;
if (p<=mid) upd(i*2,l,mid,p,v);
else upd(i*2+1,mid+1,r,p,v);
m[i]=min(m[i*2],m[i*2+1]);
}
}
pair<int,int> find(int i, int l, int r, int x, int ll) {
if (l==r) return {l,m[i]};
int mid=(l+r)/2;
pair<int,int> a={-1,INF};
if (mid>=ll && m[i*2]<=x) a=find(i*2,l,mid,x,ll);
if (a.second<=x) return a;
if (m[i*2+1]<=x) return find(i*2+1,mid+1,r,x,ll);
// if (b.second<=x) return b;
return {-1,INF};
}
signed main() {
int q;
cin>>n>>q;
for (int i=0; i<500005; i++) m[i]=INF;
while (q) {
char a;
int b,c;
cin>>a>>b>>c;
if (a=='M') {
upd(1,1,n,c,b);
} else {
cout<<find(1,1,n,b,c).first<<endl;
}
q--;
}
}