#include <cstring>
#include <cmath>
#include <algorithm>
#include <cstdlib>
#include <cstdio>
#include <fstream>
#include <iostream>

#define rep(i, l, r) for(int i = l; i <= r; i++)
#define down(i, l, r) for(int i = l; i >= r; i--)
#define MS 123456
#define MAX 1037471823
#define Q 1

using namespace std;

int n, m, low, a, l[MS], r[MS], h[MS], s[MS], ans, now;
long long k[MS];
char q[5];

void Splay(int x)
{
	if (!x) return; int o = h[x];
	while (o)
	{
		if (l[o] == x) { l[h[o]] == o ? l[h[o]] = x : r[h[o]] = x; h[x] = h[o], h[r[x]] = o, l[o] = r[x], h[o] = x, r[x] = o, s[o] = s[l[o]] + s[r[o]] + 1, s[x] = s[l[x]] + s[r[x]] + 1; } 
		else { l[h[o]] == o ? l[h[o]] = x : r[h[o]] = x; h[x] = h[o], h[l[x]] = o, r[o] = l[x], h[o] = x, l[x] = o, s[o] = s[l[o]] + s[r[o]] + 1, s[x] = s[l[x]] + s[r[x]] + 1; } 
		o = h[x];
	}
}

int Pre(int x)
{
	int o; if (r[x]) for (o = r[x]; l[o]; o = l[o]); else for (o = h[x]; o && l[o] != x; x = o, o = h[x]); return o;
}

void Insert(int x)
{
	if (x < low - m) return;
	if (l[0] == 0) { now++, s[now] = 1, h[now] = l[now] = r[now] = 0, k[now] = x, l[0] = now; return; }
	int o; for (o = l[0]; x < k[o]?l[o]:r[o];) s[o]++, o = x < k[o]?l[o]:r[o]; s[o]++;
	now++; if (x < k[o]) l[o] = now; else r[o] = now; s[now] = 1, h[now] = o, l[now] = r[now] = 0, k[now] = x; Splay(now);
}

void Check(double x)
{
	if (l[0] == 0) return;
	int o; for (o = l[0]; x < k[o]?l[o]:r[o];) s[o]++, o = x < k[o]?l[o]:r[o]; s[o]++;
	now++; if (x < k[o]) l[o] = now; else r[o] = now; s[now] = 1, h[now] = o, l[now] = r[now] = 0; 
	if (Pre(now)) { Splay(Pre(now)); ans += s[l[l[0]]]-1, s[l[0]] -= s[l[l[0]]]; l[l[0]] = 0; } else ans += s[l[0]]-1, l[0] = 0; now--;
}

int FindRW(int x)
{
	if (x >= s[l[0]]) return -1-m; int o = l[0];
	while (x != s[r[o]]) if (x < s[r[o]]) o = r[o]; else x -= s[r[o]] + 1, o = l[o];
	return k[o];
}

int main()
{
	scanf("%d%d", &n, &low); ans = m = 0;
	rep(i, 1, n)
	{
		scanf("%s%d", q, &a);
		if (q[0] == 'I') Insert(a-m);
		else if (q[0] == 'A') m += a;
		else if (q[0] == 'S') { m -= a; Check(low-m-0.5); }
		else if (q[0] == 'F') printf("%d\n", FindRW(a-1)+m);
	}
	printf("%d\n", ans);
	return 0;
}