#include<bits/stdc++.h>
using namespace std;
template <typename qwq> void read(qwq &a)
{
a=0;int x=1;char c=getchar();
for (;!isdigit(c);c=getchar()) if (c=='-') x=-x;
for (;isdigit(c);a=a*10+c-48,c=getchar()); a*=x;
}
int MOD;
long long st[200005][21];
int log_2[200005];
const int oo=214483647;
int _max(int x,int y) {return x>y?x:y;}
int QU(int l,int r)
{
int len=r-l;
int qwq=log_2[len];
return _max(st[l][qwq],st[r-(1<<qwq)+1][qwq]);
}
int main()
{
int m;
read(m),read(MOD);
int n=0;
for (int i=2;i<=m;i++)
log_2[i]=log_2[i/2]+1;
for (int i=0;(1<<i)<=m;i++)
st[0][i]=-oo;
long long t=0;
for (int i=1;i<=m;i++)
{
char xx[5];
cin>>xx;
if (xx[0]=='Q')
{
int l;
read(l);
t=QU(n-l+1,n);
printf("%d\n",t);
}
else
{
long long x;
read(x);
n++;
st[n][0]=(t+x)%MOD;
for (int j=1;(1<<j)<=n;j++)
st[n][j]=_max(st[n][j-1],st[n-(1<<j-1)][j-1]);
}
}
return 0;
}