#include<stdio.h>
#include<stdlib.h>
typedef struct Node{
    int data;
    struct Node *next;
}node;

node *head=NULL;

void insert(int num){
    node *newnode=(node*)malloc(1*sizeof(node));
    newnode->data=num;
    if(head==NULL){
        newnode->next=newnode;
        head=newnode;
}
else
{
    newnode->next=head->next;
    head->next=newnode;
}
}
void display(){
    node *temp=last->next;
    do{
        if(temp->data%2==0)
        printf("%d ",temp->data);
        temp=temp->next;
    }
    while(temp!=last->next);
    printf("\n");
    do{
        if(temp->data%2!=0)
        printf("%d ",temp->data);
        temp=temp->next;
    }while(temp!=last->next);
}
int main(){
    int size,num;
    scanf("%d",&size);
    if(size<0){
        printf("Invalid input");
        return 0;
    }
    for(int i=1;i<=size;i++){
        scanf("%d",&num);
        if(num<=0){
            printf("Invalid input");
            return 0;
        }
        insertatbegin(num);
    }
        display();
        return 0;
}