#include <bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
const int M = 25e4 + 1;
int seg[M*2][2], sz[2];
void modify(int p,int x,int i,int v,int s,int e)
{
if (s+1==e)
{
seg[v][i]=x;
return;
}
int mid=(s+e)/2, lc=v+1, rc=v+(mid-s)*2;
if (p<mid)
modify(p,x,i,lc,s,mid);
else
modify(p,x,i,rc,mid,e);
seg[v][i]=max(seg[lc][i], seg[rc][i]);
}
int get(int l,int r,int i,int v,int s,int e)
{
if (l>=e or r<=s) return 0;
if (l<=s && e<=r) return seg[v][i];
int mid=(s+e)/2, lc=v+1, rc=v+(mid-s)*2;
return max(get(l,r,i,lc,s,mid),get(l,r,i,rc,mid,e));
}
int walk(int x,int v,int s,int e,int i)
{
if (s+1==e) return s;
int mid=(s+e)/2, lc=v+1, rc=v+(mid-s)*2;
if (seg[lc][i]>x)
return walk(x,lc,s,mid,i);
return walk(x,rc,mid,e,i);
}
signed main()
{
ios::sync_with_stdio(0);
cin.tie(NULL), cout.tie(NULL);
int n, x;
cin>>n>>x;
int a[n+2], Q=5e5+1;
set<int,greater<int>> se;
for (int i=1;i<=n;i++)
cin>>a[i], a[i]*=Q, se.insert(a[i]);
a[0]=a[n+1]=Q*Q;
int q;
cin>>q;
while (q--)
{
char c;
cin>>c;
if (c=='E')
{
int i, o;
cin>>i>>o;
se.erase(a[i]);
auto it=se.begin();
for (int j=1;j<o;j++) it++;
a[i]=(*it)+1, se.insert(a[i]);
if (i==x) continue;
int id=(i>x);
}
else
{
int i;cin>>i;
if (i==x)
{
cout<<0<<endl;
continue;
}
int ans=abs(i-x);
if (i>x)
{
int mx=0;
for (int j=x+1;j<=i;j++) mx=max(mx,a[j]);
for (int j=x-1;j>=0;j--)
{
if (a[j]>mx) break;
ans++;
}
}
else
{
int mx=0;
for (int j=x-1;j>=i;j--) mx=max(mx,a[j]);
for (int j=x+1;j<=n+1;j++)
{
if (a[j]>mx) break;
ans++;
}
}
cout<<ans<<endl;
}
}
return 0;
}