#include<stdio.h>
#include<stdlib.h>
#define max 30
typedef struct node{
    int data;
    struct node *next;
}Node;
Node *front=NULL,*rear=NULL;
void enqueue(int val){
    Node *newnode=(Node*)malloc(1*sizeof(Node));
    newnode->data=val;
    newnode->next=NULL;
    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)){
                enqueue(x);
            }
        }
        display();
        return 0;
    }