#include <iostream>
using namespace std;
struct que{
int num;
que *nextt;
};
int main(){
que *h,*q;
h = q = new que;
int n,s,x;
cin >> n;
while (n--){
cin >> s;
switch (s){
case 1:
cin >> x;
q->nextt = new que;
q = q->nextt;
q->num = x;
q->nextt = NULL;
break;
case 2:
if (h->nextt == NULL){
cout << "ERR_CANNOT_POP\n";
}
else{
h = h->nextt;
}
break;
case 3:
// cout << h->nextt->num;
if (h->nextt == NULL){
cout << "ERR_CANNOT_QUERY\n";
}
else{
cout << h->nextt->num << '\n';
}
break;
case 4:
que *temp = h;
int sum = 0;
while (temp->nextt != NULL){
sum++;
temp = temp->nextt;
}
cout << sum << '\n';
break;
}
}
return 0;
}