#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=2e5+5;
int n,mod,d,a[N],id[N],qk[500],x,t=0,cnt=0;
char op;
int query(int l,int r){
int ans=0;
for(int i=l;i<=max(r,id[l]*d);i++){
ans=max(ans,a[i]);
}
if(id[l]!=id[r]){
for(int i=(id[r]-1)*d+1;i<=r;i++){
ans=max(ans,a[i]);
}
}
for(int i=id[l]+1;i<=id[r]-1;i++){
ans=max(ans,qk[i]);
}
return ans;
}
signed main(){
d=sqrt(N);
cin>>n>>mod;
for(int i=1;i<=n;i++){
cin>>op>>x;
if(op=='Q'){
t=query(cnt-x+1,cnt);
cout<<t<<endl;
}
else{
cnt++;
a[cnt]=(x+t)%mod;
id[cnt]=(cnt-1)/d+1;
qk[id[cnt]]=max(qk[id[cnt]],a[cnt]);
}
}
return 0;
}