#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;
}