#include <cstdio>
#define loop(i,a,b) for(int i=a;i<b;++i)
#include <algorithm>
#include <math.h>
using namespace std;
static const int MAX = 100002;
int a[MAX],st[MAX],dif[MAX],ds[MAX],nd=0,n,l=0,c;

int f ( int i )
{
	loop(q,0,l)
		if ( a[q] == i )
			return q+1;
	return 0;
}

void add_dif( int n )
{
	if ( dif[n]++ == 0 )
	{
		int p=nd;
		while ( p >= 0 && ds[p-1] > n )
		{
			ds[p]=ds[p-1];
			--p;
		}
		ds[p]=n;
		++nd;
	}
}
		
void rem_dif( int n )
{
	if ( --dif[n] == 0 )
	{
		int p = 0;
		while ( ds[p] != n )
			++p;
		loop(i,p,nd)
			ds[i]=ds[i+1];
		--nd;
	}
}

int main()
{
	freopen("nearnum.in","rt",stdin);
	freopen("nearnum.out","wt",stdout);
	loop(i,0,MAX)
		dif[i]=0;
	char s[10];
	scanf("%d",&n);
	loop(i,0,n)
	{
		scanf("%s",&s);
		if ( s[0] == 'F' )
		{
			printf("%d\n",ds[0]);
		}
		else if ( s[0] == 'A' )
		{
			scanf("%d",&c);
			if ( f(c) == 0 )
			{
				int q=l;
				while ( q > 0 && a[q-1] > c )
				{
					a[q]=a[q-1];
					st[q]=st[q-1];
					--q;
				}
				a[q]=c;
				if ( q > 0 && q < l )
				{
					rem_dif( st[q] );
					st[q]= c - a[q-1];
					add_dif( st[q] );
					st[q+1]= a[q+1] - c;
					add_dif( st[q+1] );
				}
				else if ( q == l && l > 0 )
				{
					st[q]= c - a[q-1] ;
					add_dif( st[q] );
				}
				else if ( q == 0 && l > 0 )
				{
					st[q+1]= a[q+1] - c;
					add_dif( st[q+1] );
				}

				++l;
			}
		}
		else // if s[0] == 'D'
		{
			scanf("%d",&c);
			int q=f(c);
			if ( q != 0 )
			{
				q=q-1;
				if ( q == 0 )
					rem_dif( st[1] );
				else if ( q == l-1 )
					rem_dif( st[ q ] );
				else // if ( q > 0 && q < l )
				{
					rem_dif( st[q] );
					rem_dif( st[q+1] );
					st[q+1]+= st[q];
					add_dif( st[q+1] );
				}
				loop(i,q,l)
				{
					a[i]=a[i+1];
					st[i]=st[i+1];
				}
				--l;
			}
		}
	}
	return 0;
}