#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
using namespace std;
const int M = 100010;
int a[M];
int i ;
int check(int x){
int l = 0 ,r = M;
while(l<r){
int mid = (l + r) /2;
if(a[mid] < x) l = mid + 1;
else{
r = mid ;
}
}
if( a[l] == x) return 1;
else return 0;
}
int check1(int x){
int l = 0 ,r = M;
while(l<r){
int mid = (l + r) /2;
if(a[mid] < x) l = mid + 1;
else{
r = mid ;
}
}
return l;
}
int main(){
int n;
cin >> n;
memset(a,1,sizeof(a));
while(n--){
int op , len;
cin >> op >> len;
if(op == 1){ // ins
if(check(len)){
cout << "Already Exist" << endl;
} else {
a[i++] = len;
sort(a,a+i);
}
} else if(op == 2){
if(a[i-1] == -1) {
cout << "Empty" << endl;
return 0;
}
int t = check1(len);
//cout << "t:"<< t << endl;
if(a[t] == len){
cout << len << endl;
a[t] = -1;
sort(a,a+i);
} else{
int d1 = a[t] - len;
int d2 = abs(a[t-1] - len);
if(d2 <= d1){
cout << a[t-1] << endl;
a[t-1] = -1;
} else if(d2 > d1){
cout << a[t] << endl;
a[t] = -1;
}
sort(a,a+i);
}
}
}
return 0;
}