#include<bits/stdc++.h>
using namespace std;
int n,m,a[200005],f[200005][25],ans,t,p;
int ffind(int x,int y){
int t=log(y-x+1)/log(2);
return max(f[y][t],f[x+(1<<t)-1][t]);
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
cin>>m>>p;
char c;
while(m--){
cin>>c;
int x;
if(c=='A'){
cin>>x;
a[++n]=(x+t)%p;
f[n][0]=a[n];
for(int i=1;n-(1<<i)>=0;i++){
f[n][i]=max(f[n][i-1],f[n-(1<<(i-1))][i-1]);
}
}
else{
int l;
cin>>l;
if(l==1){
cout<<a[n]<<endl;
t=a[n];
continue;
}
ans=ffind(n-l+1,n);
cout<<ans<<endl;
t=ans;
}
}
return 0;
}