#include <iostream>
using namespace std;
#include <stack>
#include <vector>
int main() {
stack<int> s;
vector<int> v;
int maxW = 0;
int weight = 0;
int n;
int op;
cin >> n;
for (int i = 0; i < n; i++)
{
cin >> op;
switch (op)
{
case 0:
cin >> weight;
s.push(weight);
v.push_back(weight);
break;
case 1:
s.pop();
v.pop_back();
break;
case 2:
if (s.empty()) {
cout << 0;
}
else {
for (auto eliment : v) {
if (eliment > maxW) maxW = eliment;
}
cout << maxW;
maxW = 0;
}
break;
default:
break;
}
}
}