rt
#include<bits/stdc++.h>
using namespace std;
int m,D,x,n,t;
int lg[200005],st[200005][21];
char op;
int main()
{
cin>>m>>D;
for(int i = 2;i <= 200000;i ++)
{
lg[i] = lg[i / 2] + 1;
}
while(m --)
{
cin>>op>>x;
if(op == 'Q')
{
int len = lg[x];
t = max(st[n - x + 1][len],st[n - (1 << len) + 1][len]);
cout<<t<<endl;
}
else
{
x = (x + t) % D;
st[++ n][0] = x;
for(int len = 1;len <= lg[n];len ++)
{
int j = n - (1 << len) + 1;
st[j][len] = max(st[j][len - 1],st[j + (1 << len - 1)][len - 1]);
}
}
}
return 0;
}