#include <bits/stdc++.h>
using namespace std;
vector<int> t;
int si;
const int inf = 1e9 + 5;
void upd(int x, int val)
{
for(t[x += si - 1] = val; x > 1; x >>= 1) t[x >> 1] = min(t[x], t[x ^ 1]);
}
int get(int l, int r)
{
int res = inf;
for(l += si - 1, r += si; l < r; l >>= 1, r >>= 1)
{
if(l & 1) res = min(res, t[l++]);
if(r & 1) res = min(res, t[--r]);
}
return res;
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
int n, q;
cin >> n >> q;
si = n + 1;
t.resize(2 * si, inf);
upd(n + 1, 0);
while(q--)
{
char c;
int x, idx;
cin >> c >> x >> idx;
if(c == 'M') upd(idx, x);
else
{
int l = idx - 1, r = n + 1;
while(l + 1 != r)
{
int m = (l + r) / 2;
if(get(idx, m) <= x) r = m;
else l = m;
}
if(r == n + 1)
{
cout << "-1\n";
}
else cout << r << "\n";
}
}
}