#include<stdio.h>
#include<math.h>
#define MAX 100
struct Queue{
    int data[MAX];
    int front,rear;
};
int isPrime(int n){
    if(n<=1) return 0;
    foir(int i=2;i<=sqrt(n);i++)
    if(n%i==0)return 0;
    return 1;
}
void enqueue(struct Queue *q,int val){
    q->data[++q->rear]=val;
    }
    int dequeue(struct Queue *q) {
        return q->data[++q->front]
    }
    int main(){
        int n,x;
        struct Queue q;
        q,front=q.rear=-1;
        scanf("%d", &n);
        if(n<=0){
            printf("Invalid input");
            return 0;
        }
        for(int i=0;i<n;i++){
            scantf("%d", &x);
            if(isPrime(x))
            enqueue(&q,x);
        }
        while(q,front != nq.rear)
        printf("%d ", dequeue(&q));
        return 0;
    }