#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;
}