#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#define CAPACITY 100 
char queue[CAPACITY][50];
int front = 0, rear = 0,size = 0;
void enqueue(char *packet) {
    if (size == CAPACITY) {
        printf("Invalid input\n");
        exit(0);
    }
    strcpy(queue[rear],packet);
    rear = (rear + 1) % CAPACITY;
    size++;
}
void dequeue(){
    if (size == 0) {
        printf("the chain was empty\n");
        return;
    }
    printf("%s\n",queue[front]);
    front = (front +1) % CAPACITY;
    size--;
}
int isValidPacket(char *s) {
    if (strcmp(s, "-") == 0)return 1;
    for (int i = 0; i < strlen(s); i++) {
        if (!isalnum(s[i]))return 0;
    }
    return 1;
}
int main(){
    int n;
    if (scanf("%d",&n) ! = 1||n < 1 || n > 100) {
        printf("Invalid input\n");
        return 0;
    }
    
    for (int i = 0; i < n; i++) {
        char token[50];
        if (scanf("%s", token) != 1) {
            printf("Invalid input\n");
            return 0;
        }
            if (!isValidPacket(token)) {
                printf("Invalid input\n");
                return 0;
            }
            if (strcmp(token,"-") == 0) {
                dequeue();
            } else {
                enqueue(token);
            }
    }
    return 0;
}