#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) {
    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));
    return 0;
}