#include<stdio.h>
#define MAX 20
struct Queue
{
    int dat[MAX];
    int front;
    int rear;
};
int isPrime(int num){
    if(num<=1)
        return 0;
        for(int i=0;i*i<=num;i++){
            tf(num%i==0){
                return 0;
            }
        }
        return 1;
}
void enqueue(struct Queue *q,int value){
    q->dat[++q->rear]=value;
}
void display(struct Queue q){
    for(int i=q.front;i<=q.rear;i++){
        printf("%d ",q.dat[i]);
    }
}
int main(){
    int n;
    struct Queue q;
    q.front=0;
    q.rear=-1;
    scanf("%d",&n);
    if(n<=0){
        printf("Invalid input");
        return 0;
    }
    int arr[n];
    for(int i=0;i<n;i++){
        scanf("%d",&arr[i]);
    }
}for(int i=0;i<n;i++){
    if(isPrime(arr[i])){
        enqueue(&q,arr[i]);
    }
}
display(q);
return 0;
}