#include<stdio.h>
#include<stdbool.h>
struct Queue{
    int data[100];
    int front,rear;
};
void initQueue(struct Queue *q){
    q->front = 0;
    q->rear = -1;
}
void enqueue(struct Queue *q,int value){
    q->rear++;
    q->data[q->rear]=value;
}
bool isPrime(int num){
    if(num <= 1)
    return false;
    for(int i=2;i*i<=num;i++){
        if(num%i==0)
        return false;
    }
    return true;
}
int main(){
    struct Queue q;
    initQueue q;
    int n;
    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]);
        }
    }
    if(q.rear>=q.front){
        for(int i=q.front;i<=q.rear;i++){
            printf("%d ",q.data[i]);
        }
    }
    return 0;
}