#include<stdio.h>
#include<math.h>
#define MAX 100
struct Queue{
    int data[MAX];
    int front,rear;
};
int isPrime(int n){
    if(n <= 1) returm 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;
}