#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) { int val = q.front (); auto it = st.find (val); st.erase (it); q.pop (); } else { int x; scanf ("%d", &x); q.push (x); st.insert (x); } } return 0; }