#include<iostream>
using namespace std;
class str{
private:
int num[100005],w=0;
public:
void push(int x){
w++;
num[w]=x;
}
void pop(){
w--;
}
int top(){
return num[w];
}
int getmin(){
int minn=INT_MAX;
for(int i=1;i<=w;i++) minn=min(minn,num[i]);
return minn;
}
}a;
void change(int x){
switch(x){
case 1:
int y;
cin>>y;
a.push(y);
break;
case 2:
a.pop();
break;
case 3:
cout<<a.top()<<endl;
break;
case 4:
cout<<a.getmin()<<endl;
break;
}
}
int n;
int main(){
std::ios::sync_with_stdio(false);
cin>>n;
for(int i=1;i<=n;i++){
int x;
cin>>x;
change(x);
}
}