# 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=2;i*i<=num;i++){
            if(num%==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=1.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;
}