#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
// Function to check if a number is prime
bool isPrime(int num){
    if (num <= 1) return false;
    for (int i = 2; i * i <= num; i++){
        if (num % i == 0)return false;
    }
return true;
}
// Oueue structure
typedef struct Node{
    int data;
    struct Node* next;
} Node;
typedef struct {
    Node *front, *rear;
} Oueue;
// Function to create a new node
Node* createNode(int data){
    newNode->data = data;
    newNode->next = NULL;
    return 0;
}
// Function to create a queue 
Oueue* createQueue(){
    Oueue* q = (Oueue*)malloc(sizeof(Oueue));
    return q;
}
// Function to enqueue 
void enqueue(Queue* q, int data){
    Node* temp = createNode(data);
    if (q->rear == NULL){
        q->front = q->rear = temp;
        return;
    }
    q->rear->next = temp;
    q->rear = temp;
}
// Funtion to dequeue
int dequeue(Queue* q){
    if (q->front == NULL){
        printf("Queue is empty\n");
        exit(1);
    }
    Node* temp = q->front;
    int data = temp->data;
    q->front = q->front->next;
    free(temp);
    return data;
}
// Function to print prime numbers from the queue
void rintPrimes(Queue*q){
    Node* temp = q->front;
    while (temp){
        if (isPrime(temp->data)){
            printf("%d" , temp->data);
        }
        temp = temp->next;
    }
    print("\n");
}
int main(){
    int n;
    scanf("%d" , &n);
    if (n<= 0){
        printf("Invalid Input\n");
        return 0;
    }
    Queue* q = createQueue();
    for (int i = 0; i < n; i++){
        int num;
        scanf("%d" , &num);
        enqueue(q , num);
    }
    printPrimes(q);
    return 0;
}
    }
}
       
    }
}
    }
}
    }