#include<bits/stdc++.h>
using namespace std;
const int N=2e5+5;
long long n=0,m,d,t[4*N];
void push_up(int u)
{
t[u]=max(t[2*u],t[2*u+1])%d;
}
long long query(int u,int l,int r,int a,int b)
{
if(l>=a&&r<=b)
{
return t[u];
}
int mid=(l+r)/2;
long long sum=-0x7f;
if(a<=mid)
{
sum=max(sum,query(u*2,l,mid,a,b));
}
if(b>mid)
{
sum=max(sum,query(u*2+1,mid+1,r,a,b));
}
return sum;
}
void update(int u,int l,int r,int a,long long b)
{
if(l==r)
{
t[u]=b;
return ;
}
int mid=(l+r)/2;
if(a<=mid)
{
update(u*2,l,mid,a,b);
}
else
{
update(u*2+1,mid+1,r,a,b);
}
push_up(u);
}
int main()
{
cin>>m>>d;
long long f=0;
for(int i=1;i<=m;i++)
{
char op;
long long l;
cin>>op>>l;
if(op=='Q')
{
f=query(1,1,n,n-l+1,n);
cout<<f<<endl;
}
else
{
n++;
update(1,1,n,n,(f+l)%d);
}
}
return 0;
}