#include <bits/stdc++.h>
using namespace std;
const long long inf = -(1 << 62);
int m, cnt;
char x;
long long data[800005], n, t, p;
void add(int s, int k, int o, int l, int r)
{
if (l == r)
{
data[o] = k;
return;
}
int mid = (l + r) >> 1;
if (mid >= s)
{
add(s, k, o << 1, l, mid);
}
if (mid < s)
{
add(s, k, o << 1 | 1, mid + 1, r);
}
data[o] = max(data[o << 1], data[o << 1 | 1]) % p;
}
long long ask(int ll, int rr, int o, int l, int r)
{
if (ll <= l && rr >= r)
{
return data[o];
}
int mid = (l + r) >> 1;
long long a = inf, b = inf;
if (mid >= ll)
{
a = ask(ll, rr, o << 1, l, mid);
}
if (mid < rr)
{
b = ask(ll, rr, o << 1 | 1, mid + 1, r);
}
return max(a, b);
}
int main()
{
cin >> m >> p;
while (m--)
{
cin >> x >> n;
if (x == 'A')
{
add(cnt + 1, (n + t) % p, 1, 1, m);
cnt++;
}
if (x == 'Q')
{
if (n == 0)
{
t = 0;
}
else
{
t = ask(cnt - n + 1, cnt, 1, 1, m) % p;
}
cout << t << '\n';
}
}
fflush(stdin);
return 0;
}
代码如上