1 #include <iostream>
2 #include <cstdio>
3 #include <algorithm>
4
5 using namespace std;
6
7 const int maxn=2e5+10;
8
9 int n,tail,head,m,mod;
10 int q[maxn],id[maxn];
11
12 void add(int x)
13 {
14 while(q[tail]<=x&&tail)tail--;
15 q[++tail]=x;id[tail]=++n;
16 }
17
18 int qurey(int x)
19 {
20 int l=n-x+1;
21 int k=lower_bound(id+head,id+tail+1,l)-id;
22 return q[k];
23 }
24
25 int main()
26 {
27 scanf("%d %d",&m,&mod);
28 int last=0;
29 head=1;tail=0;
30 while(m--)
31 {
32 char str[2];
33 int a;
34 scanf("%s%d",str,&a);
35 if(str[0]=='A')
36 add((a+last)%mod);
37 else
38 {
39 printf("%d
",last=qurey(a));
40 }
41 }
42 return 0;
43 }