#include<iostream>
using namespace std;
const int N=1e5+10;
int que[N],head,tail;
void insert(int x)
{
que[tail++]=x;
}
int main()
{
int m;
cin>>m;
while(m--)
{
string op;
cin>>op;
if(op=="push")//向队列插入一个数
{
int x;
cin>>x;
insert(x);
}
else if(op=="pop") //队列出一个数
{
if(tail-head) {
head++;
}
}
else if(op=="empty") //判断栈是否为空
{
if(tail-head!=0) cout<<"NO"<<endl;
else cout<<"YES"<<endl;
}
else
{
cout<<que[head]<<endl;
}
}
}