#include<iostream>
using namespace std;
// 1 定义一个队列
// 2 输入操作的次数
// 3 每次用户输入一个操作提示,根据提示进行相应的操作
int const N = 100010; // 定义一个整型常量,用来表示数组的长度
int q[N]; //数组模拟队列
int qh = 0; //队头指针
int qt = 0; //队尾指针
int main()
{
// 输入操作次数
int M;
cin >> M;
for (int i = 0; i < M; i++)
{
string op;
cin >> op; // 输入操作提示
if(op == "push")// 队尾插入一个数
{
int x;
cin >> x;
q[qt++] = x; // qt指向当前元素的下一个位置
}
else if(op == "pop") // 队头弹出一个数
{
qh++ ;
}
else if(op == "empty") // 判断队列是否为空
{
if(qh < qt) cout << "NO" <<endl;
else cout << "YES" <<endl;
}
else // 查队头元素
{
cout << q[qh] << endl;
}
}
return 0;
}