#include <bits/stdc++.h>
using namespace std;
struct hh
{
int l;
int r;
long long mx=-9223372036854775808;
}tr[200001<<2];
long long m,n,b,t=0,cnt=0;
char a;
const int p=1<<18;
void build(int i,int l,int r)
{
tr[i].l=l;
tr[i].r=r;
if(l==r)
{
return;
}
int mid=(l+r)>>1;
build(i<<1,l,mid);
build(i<<1|1,mid+1,r);
}
void up(int i)
{
if(i==0)
{
return;
}
if(tr[i>>1].mx<tr[i].mx)
{
tr[i>>1].mx=tr[i].mx;
up(i>>1);
}
}
void f(int i,int l,int r)
{
if(tr[i].l>=l&&tr[i].r<=r)
{
t=max(t,tr[i].mx);
return;
}
if(tr[i<<1].r>=l)
{
f(i<<1,l,r);
}
if(tr[i<<1|1].l<=r)
{
f(i<<1|1,l,r);
}
}
int main()
{
cin>>m>>n;
build(1,1,200000);
while(m--)
{
cin>>a>>b;
if(a=='A')
{
tr[cnt+p].mx=(b+t)%n;
up(cnt+p);
cnt++;
}
else
{
t=-9223372036854775808;
f(1,cnt+1-b,cnt);
cout<<t<<endl;
}
}
}