#include <stdio.h>
#include <stdlib.h>

typedef struct node {
    int id;
    int ar;              // can be treated as any data
    struct node *next;
} Node;

Node *front = NULL;
Node *rear = NULL;


void enqueue(int v, int t) {
    Node *newnode = (Node*)malloc(sizeof(Node));
    newnode->id = v;
    newnode->ar = t;
    newnode->next = NULL;

    if (front == NULL) {        // empty queue
        front = rear = newnode;
    } else {
        rear->next = newnode;
        rear = newnode;
    }
}


void dequeue() {
    Node *temp = front;
    if (temp == NULL) {
        printf("Queue is empty");
        return;
    }

    while (temp != NULL) {
        printf("%d ", temp->id);
        temp = temp->next;
    }
}
int main(){
    int n;
    scanf("%d",&n);
    if(n<=0){
        printf("Invalid input");
        return 0;
    }
    for(int i=0;i<n;i++){
        int x;
        if(scanf("%d",&x)<=0){
            printf("Invalid input");
        }
        enqueue(x);
    }
    dequeue();
    return 0;
}