#include<stdio.h>
#include<stdlib.h>
#define max 30
typedef struct node{
    int data;
    struct node *next;
}Node;
Node* front=NULL,*rear=NULL;
void enque(int val){
    Node* newnode=(Node)malloc(1* sizeof(Node));
    newnode->data=val;
    newnode->next;
    if(front==NULL){
        front=newnode;
        rear=newnode;
    } else {
        rear-> next= newnode;
        rear=newnode;
    }
}
int isprime(int n){
    if(n<=1){
        return 0;
    }
    for(int i=2;i*i<n;i++){
        if(n%i==0){
            return 0;
        }
    }
    return 1;
}
void display(){
    node*itr=front;
    while(itr != NULL){
        printf ("%d ",itr->data);
        itr=itr->next;
    }
}
int main(){
    int n;
    scanf ("%d",&n);
    if(n<=0){
        printf("invalid input");
        return 0;
    }
    for(int i=0;i<n;i++){
       int x;scanf("%d",&x);
       if(isprime(x)){
           enque(x);
       }
    }
        display();
        return 0;
    
}