// editor5
#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;
    for(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,int val){
    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++){
        scanf("%d",&x);
        if(isprime(x))
        enqueue(&q,x);
    }
    while(q.front!=Q.rear)
    printf("%d ",dequeue(&q));
}