#include <iostream>
const int N = 1e5 + 5;
using namespace std;
struct queue {
    int a[N];
    int rear, head;
    queue() {
        rear = head = 0;
    }
};
int len;
bool isFull(queue& que) {
    if (que.head == (que.rear + 1) % len)
        return true;
    return false;
}
bool isEmpty(queue& que) {
    if (que.head == que.rear)return true;
    return false;
}
void push(queue& que, int num) {
    if (!isFull(que)) {
        que.a[que.rear] = num;
        que.rear = (que.rear + 1) % len;
    } else
        cout << "full" << endl;
}
void front(queue& que) {
    if (!isEmpty(que))cout << que.a[que.head] << endl;
    else cout << "empty" << endl;
}
void pop(queue& que) {
    if (!isEmpty(que)) {
        int t;
        t = que.a[que.head];
        que.head = (que.head + 1) % len;
        cout << t << endl;
    } else {
        cout << "empty" << endl;
    }
}
int main() {
    int q;
    queue que;
    cin >> len >> q;
    len ++;
    while (q--) {
        string s;
        cin >> s;
        if (s == "push") {
            int t;
            cin >> t;
            push(que, t);
        }
        if(s == "front") {
            front(que);
        }
        if (s == "pop") {
            pop(que);
        }
    }
}
// 64 位输出请用 printf("%lld")