#include <iostream>
#include <queue>
using namespace std;
//本题为基础模版题,用于熟悉队列的基本用法
int main() {
int n{};//n组数据
cin>>n;
queue<int> q;//注意将队列定义在循环外,否则每次都会重置队列导致出错
while(n--)
{
int op{},x{};//定义op作为操作名
cin>>op;
if(op==1)
{
cin>>x;//将op和x拆分开来,这个思想很有用
q.push(x);//操作名为1时将x入队
}
else if(op==2)
{
if(!q.empty())//检查是否非空,非空就pop出队
{
q.pop();
}
else {
cout<<"ERR_CANNOT_POP"<<endl;
}
}
else if(op==3)
{
if(!q.empty())//检查是否非空,非空就输出队首数据
{
cout<<q.front()<<endl;
}
else {
cout<<"ERR_CANNOT_QUERY"<<endl;
}
}
else if(op==4)//操作4输出队列大小
{
cout<<q.size()<<endl;
}
}
return 0;
}
// 64 位输出请用 printf("%lld")