#include #include #include #include using namespace std; multiset st; queue q; int main () { // freopen ("file.in", "r", stdin); int n; scanf ("%d", &n); for (int i = 1; i <= n; ++i) { int op; scanf ("%d", &op); if (op == 3) { auto it = st.end (); --it; printf ("%d\n", *it); } else if (op == 2) { st.erase (q.front ()); q.pop (); } else { int x; scanf ("%d", &x); q.push (x); st.insert (x); } } return 0; }