#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int N=2e5+50;
ll n,m;
ll arr[N];
void add(ll k,ll l,ll r,ll i,ll v){
if(l==r&&l==i){arr[k]=v;return ;}
ll mid=(l+r)/2;
if(i<=mid){
add(2*k,l,mid,i,v);
}else {
add(2*k+1,mid+1,r,i,v);
}
arr[k]=max(arr[2*k],arr[2*k+1]);
}
ll query(ll k,ll l,ll r,ll lq,ll rq){
if(l>=lq&&r<=rq){
return arr[k];
}
ll mid=(l+r)/2;
ll maxx=-0x3ffffffff;
if(lq<=mid){
maxx=max(query(2*k,l,mid,lq,rq),maxx);
}
if(rq>mid){
maxx=max(query(2*k+1,mid+1,r,lq,rq),maxx);
}
return maxx;
}
int main(){
scanf("%lld %lld\n",&n,&m);
memset(arr,0,sizeof(arr));
char c;
ll t=0,d,line=0;
ll ans=0,x=n;
while(x--){
cin >> c;
if(c=='A'){
scanf("%lld\n",&d);
line++;
add(1,1,n,line,(d+t)%m);
}else {
scanf("%lld\n",&d);
if(!d)ans=0;
ans=query(1,1,n,line-d+1,line);
t=ans;
cout << ans << endl;
}
}
return 0;
}