P1486
#include<bits/stdc++.h>
using namespace std;
vector<int>v;
int minn,ans;
void add(int k){
if(k>=minn){
v.insert(lower_bound(v.begin(),v.end(),k),k);
}
}
void pluss(int k){
for(int i=0;i<v.size();i++){
v[i]+=k;
}
}
void subtract(int k){
for(int i=0;i<v.size();i++){
v[i]-=k;
if(v[i]<minn){
ans++;
//printf("标记%d\n",v[i]);
}
}
for(auto it=v.begin();it!=v.end();it++){
//printf("有%d\n",*it);
if(*it<minn){
int u=*it;
it=v.erase(it);
//printf("minn为%d 删除%d\n",minn,u);
it--;
}
}
}
void quest(int k){
if(k>v.size()){
printf("-1\n");
}else{
printf("%d\n",v[v.size()-k]);
}
}
int main(){
char c[10];
int n;
scanf("%d%d",&n,&minn);
while(n--){
int k;
cin>>c[0];
scanf("%d",&k);
if(c[0]=='I'){
add(k);
}else if(c[0]=='A'){
pluss(k);
}else if(c[0]=='S'){
subtract(k);
}else if(c[0]=='F'){
quest(k);
}
}
printf("%d\n",ans);
return 0;
}