/**
* @author Etaoin
* @license WTFPL
**********************************************************************
* This program is free software. It comes without any warranty, to *
* the extent permitted by applicable law. You can redisttribute it *
* and/or modify it under the terms of the Do What The Fuck You Want *
* To Public License, Version 2, as published by Sam Hocevar. See *
* http://www.wtfpl.net/ for more details. *
**********************************************************************
* @school Hangzhou No.2 High School
*/
#pragma GCC optimize(3)
#include <cstdio>
#include <cstring>
#include <queue>
#include <stack>
#include <algorithm>
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
#define rep(a,b,c) for(int a = b;a <= c;a++)
#define REP(a,b,c) for(int a = b;a < c;a++)
#define per(a,b,c) for(int a = b;a >= c;a--)
#define PER(a,b,c) for(int a = b;a > c;a--)
#ifdef debug
#include <conio.h>
#define debugdo(x) x
#define debugndo(x)
#else
#define debugdo(x)
#define debugndo(x) x
#endif
#define inf 1000000000
inline int read()
{
int x = 0, f = 1;
char ch = getchar();
while (ch < '0' || ch > '9') {
if (ch == '-') {
f = -1;
}
ch = getchar();
}
while (ch >= '0' && ch <= '9') {
x = x * 10 + ch - '0';
ch = getchar();
}
return x * f;
}
int n;
vector<int> a;
void insert(int x)
{
a.insert(upper_bound(a.begin(), a.end(), x), x);
return;
}
void del(int x)
{
a.erase(lower_bound(a.begin(), a.end(), x));
return;
}
int find(int x)
{
return lower_bound(a.begin(), a.end(), x) - a.begin() + 1;
}
int main()
{
n = read();
a.reserve(200000);
int f, x;
for (int i = 1; i <= n; i++) {
f = read();
x = read();
switch (f) {
case 1:
insert(x);
break;
case 2:
del(x);
break;
case 3:
printf("%d\n", find(x));
break;
case 4:
printf("%d\n", a[x - 1]);
break;
case 5:
printf("%d\n", *--lower_bound(a.begin(), a.end(), x));
break;
case 6:
printf("%d\n", *upper_bound(a.begin(), a.end(), x));
break;
}
}
return 0;
}
普通平衡树