#include<bits/stdc++.h>
using namespace std;
const int N = 2e5 + 5;
typedef long long ll;
int m, d, n, len;
ll tr[N<<2], las;
char s;
void add(int p, int l, int r, int w, int v) {
if(l == r) {
tr[p] = v;
return;
}
int mid = (l+r) >> 1;
if(w <= mid) add(p*2, l, mid, w, v);
else add(p*2+1, mid+1, r, w, v);
tr[p] = max(tr[p*2], tr[p*2+1]);
}
ll query(int p, int l, int r, int s, int t) {
if(s<=l && r<=t) return tr[p];
int mid = (l+r) >> 1;
ll sum = -1e18;
if(s <= mid) sum = query(p*2, l, mid, s, t);
if(t > mid) sum = max(sum, query(p*2+1, mid+1, r, s, t));
return sum;
}
int main () {
scanf("%d%d", &m, &d);
while(m--) {
cin >> s;
if(s == 'A') {
scanf("%d", &n);
++len;
printf("%d\n", len);
add(1, 1, m, len, (n+las)%d);
}
else {
scanf("%d", &n);
if(!n) las = 0;
else las = query(1, 1, m, len-n+1, m);
printf("%lld\n", las);
}
}
return 0;
}