#include <iostream>
using namespace std;
int T, op, x, n;
int maxn = -1, minn = 0x7fffffff;
int a[10005];
int mfind(int x) {
for (int i = 1; i <= n; i++) {
if (a[i] == x) {
return i;
}
}
return 0;
}
int mfind2(int x) {
for (int i = 1; i <= n; i++) {
if (a[i] == x) {
while (a[i] == x && i <= n) {
i++;
}
return i - 1;
}
}
return 0;
}
int findm(int x) {
for (int i = 1; i <= n; i++) {
if (a[i] > x) {
return i;
}
}
return n + 1;
}
int main() {
cin >> T;
while (T--) {
cin >> op >> x;
if (op == 1) {
cout << mfind(x) << endl;
} else if (op == 2) {
cout << a[x] << endl;
} else if (op == 3) {
int ff = mfind(x);
if (x == minn || !ff) {
cout << -2147483647 << endl;
} else {
cout << a[ff - 1] << endl;
}
} else if (op == 4) {
int ff = mfind2(x);
if (x == maxn || !ff) {
cout << 2147483647 << endl;
} else {
cout << a[ff + 1] << endl;
}
} else {
int ff = findm(x);
n++;
for (int i = n - 1; i >= ff; i--) {
a[i + 1] = a[i];
}
a[ff] = x;/*
for (int i = 1; i <= n; i++) {
cout << a[i] << ' ';
}
cout << endl;*/
maxn = max(maxn, x);
minn = min(minn, x);
}
}
return 0;
}