#include<bits/stdc++.h>
#define FAST() ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
#define loop(n) for (int i = 0; i < n; i++)
#define loop2(n) for (int j = 0; j < n; j++)
#define fr(i, a, n) for(int i = a; i <= n; i++)
#define pb push_back
#define all(v) v.begin(),v.end()
#define sz(v) ((int) ((v).size()))
#define in(v,n) for(int i=0 ;i<n;i++) cin>>v[i];
#define out(v,n) for(int i=0;i<n;i++) cout << v[i] <<" ";
#define el cout<<endl;
#define pi 3.14159265359
typedef long long ll;
//typedef vector<int> vi;
using namespace std;
bool prec (int x, int y)
{
return x>y;
}
//LCM(a,b) = (a*b) / gcd(a,b)
int gcd(int a,int b);
ll fastpower(ll b,ll p);
void selection_Sort(int arr[], int n);
void Bubble_sort(int arr[], int n);
bool isPrime(int n);
int maxElement(stack<int> x )
{
int mx=0;
while(!x.empty())
{
if(x.top() > mx)
mx = x.top();
x.pop();
}
return mx;
}
void solve()
{
int n,x,mx=0,q;
cin>>n;
stack<int> s;
multiset<int, greater<int>> se;
while(n--)
{
cin>>q;
if(q==1)
{
cin>>x;
s.push(x);
}
else if(q==2)
{
if(!s.empty())
{
s.pop();
}
}
else
{
cout<<maxElement(s)<<endl;
}
}
}
int main()
{
FAST()
int t;
// cin>>t;
// while(t--)
solve();
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBGQVNUKCkgICAgICAgICAgICAgICAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbygwKSwgY2luLnRpZSgwKSwgY291dC50aWUoMCk7CiNkZWZpbmUgbG9vcChuKSAgICAgICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspCiNkZWZpbmUgbG9vcDIobikgICAgICAgICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IG47IGorKykKI2RlZmluZSBmcihpLCBhLCBuKSAgICAgICAgICAgICAgICBmb3IoaW50IGkgPSBhOyBpIDw9IG47IGkrKykKI2RlZmluZSBwYiAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoX2JhY2sKI2RlZmluZSBhbGwodikgICAgICAgICAgICAgICAgICAgICAgdi5iZWdpbigpLHYuZW5kKCkKI2RlZmluZSBzeih2KSAgICAgICAgICAgICAgICAgICAgICAoKGludCkgKCh2KS5zaXplKCkpKQojZGVmaW5lIGluKHYsbikgICAgICAgICAgICAgICAgICAgIGZvcihpbnQgaT0wIDtpPG47aSsrKSBjaW4+PnZbaV07CiNkZWZpbmUgb3V0KHYsbikgICAgICAgICAgICAgICAgIGZvcihpbnQgaT0wO2k8bjtpKyspIGNvdXQgPDwgdltpXSA8PCIgIjsKI2RlZmluZSBlbCAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvdXQ8PGVuZGw7CiNkZWZpbmUgcGkgICAgICAgICAgICAgICAgICAgICAgICAgIDMuMTQxNTkyNjUzNTkKdHlwZWRlZiBsb25nIGxvbmcgICAgbGw7Ci8vdHlwZWRlZiB2ZWN0b3I8aW50PiB2aTsKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmJvb2wgcHJlYyAoaW50IHgsIGludCB5KQp7CiAgICByZXR1cm4geD55Owp9Ci8vTENNKGEsYikgPSAoYSpiKSAvICBnY2QoYSxiKQppbnQgZ2NkKGludCBhLGludCBiKTsKbGwgZmFzdHBvd2VyKGxsIGIsbGwgcCk7CnZvaWQgc2VsZWN0aW9uX1NvcnQoaW50IGFycltdLCBpbnQgbik7CnZvaWQgQnViYmxlX3NvcnQoaW50IGFycltdLCBpbnQgbik7CmJvb2wgaXNQcmltZShpbnQgbik7CmludCBtYXhFbGVtZW50KHN0YWNrPGludD4geCApCnsKICAgIGludCBteD0wOwogICAgd2hpbGUoIXguZW1wdHkoKSkKICAgIHsKICAgICAgICBpZih4LnRvcCgpID4gbXgpCiAgICAgICAgICAgIG14ID0geC50b3AoKTsKICAgICAgICB4LnBvcCgpOwogICAgfQogICAgcmV0dXJuIG14Owp9CnZvaWQgc29sdmUoKQp7CiAgICBpbnQgbix4LG14PTAscTsKICAgIGNpbj4+bjsKICAgIHN0YWNrPGludD4gczsKICAgIG11bHRpc2V0PGludCwgZ3JlYXRlcjxpbnQ+PiBzZTsKICAgIHdoaWxlKG4tLSkKICAgIHsKICAgICAgICBjaW4+PnE7CiAgICAgICAgaWYocT09MSkKICAgICAgICB7CiAgICAgICAgICAgIGNpbj4+eDsKICAgICAgICAgICAgcy5wdXNoKHgpOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmKHE9PTIpCiAgICAgICAgewogICAgICAgICAgICBpZighcy5lbXB0eSgpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBzLnBvcCgpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIGNvdXQ8PG1heEVsZW1lbnQocyk8PGVuZGw7CiAgICAgICAgfQogICAgfQp9CmludCBtYWluKCkKewogICAgRkFTVCgpCiAgICBpbnQgdDsKLy8gICAgY2luPj50OwovLyAgICB3aGlsZSh0LS0pCiAgICAgICAgc29sdmUoKTsKICAgIHJldHVybiAwOwp9