#include<iostream>
using namespace std;
class node{
public:
node *next;
int data;
node(int d){
next = NULL;
data = d;
}
};
void insertAtTail(node *&head, int data){
if(head==NULL){
head= new node(data);
return;
}
node *temp = head;
while(temp->next!=NULL){
temp = temp->next;
}
temp->next = new node(data);
return;
}
void print(node *head){
while(head !=NULL){
cout<< head->data<<" ";
head = head->next;
}
}
node *even_after_odd(node *head){
node *temp = head;
node *a_head = NULL, *a_tail =NULL, *b_head = NULL, *b_tail = NULL;
while(temp!= NULL){
if(temp->data%2!=0){
if(a_head==NULL){
a_head=a_tail=temp;
}
else{
a_tail->next = temp;
a_tail = temp;
}
}
else if(temp->data%2==0){
if(b_head==NULL){
b_head=b_tail=temp;
}
else{
b_tail->next = temp;
b_tail = temp;
}
}
temp = temp->next;
}
a_tail->next = b_head;
b_tail->next = NULL;
return a_head;
}
int main(){
node *head = NULL;
int n,data;
cin>>n;
for(int i=0;i<n;i++){
cin>>data;
insertAtTail(head,data);
}
node *ans = even_after_odd(head);
print(ans);
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNsYXNzIG5vZGV7CnB1YmxpYzoKICAgIG5vZGUgKm5leHQ7CiAgICBpbnQgZGF0YTsKICAgIG5vZGUoaW50IGQpewogICAgICAgIG5leHQgPSAgTlVMTDsKICAgICAgICBkYXRhID0gZDsKICAgIH0KfTsKdm9pZCBpbnNlcnRBdFRhaWwobm9kZSAqJmhlYWQsIGludCBkYXRhKXsKICAgIGlmKGhlYWQ9PU5VTEwpewogICAgICAgIGhlYWQ9IG5ldyBub2RlKGRhdGEpOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIG5vZGUgKnRlbXAgPSBoZWFkOwogICAgd2hpbGUodGVtcC0+bmV4dCE9TlVMTCl7CiAgICAgICB0ZW1wID0gdGVtcC0+bmV4dDsKICAgIH0KICAgIHRlbXAtPm5leHQgPSBuZXcgbm9kZShkYXRhKTsKICAgIHJldHVybjsKfQoKdm9pZCBwcmludChub2RlICpoZWFkKXsKICAgIHdoaWxlKGhlYWQgIT1OVUxMKXsKICAgICAgICBjb3V0PDwgaGVhZC0+ZGF0YTw8IiAiOwogICAgICAgIGhlYWQgPSBoZWFkLT5uZXh0OwogICAgfQp9Cgpub2RlICpldmVuX2FmdGVyX29kZChub2RlICpoZWFkKXsKICAgIG5vZGUgKnRlbXAgPSBoZWFkOwogICAgbm9kZSAqYV9oZWFkID0gTlVMTCwgKmFfdGFpbCA9TlVMTCwgKmJfaGVhZCA9IE5VTEwsICpiX3RhaWwgPSBOVUxMOwoKd2hpbGUodGVtcCE9IE5VTEwpewogICAgaWYodGVtcC0+ZGF0YSUyIT0wKXsKICAgICAgICBpZihhX2hlYWQ9PU5VTEwpewogICAgICAgICAgICBhX2hlYWQ9YV90YWlsPXRlbXA7CiAgICAgICAgfQogICAgICAgIGVsc2V7CiAgICAgICAgICAgIGFfdGFpbC0+bmV4dCA9IHRlbXA7CiAgICAgICAgICAgIGFfdGFpbCA9IHRlbXA7CiAgICAgICAgfQogICAgfQogICAgZWxzZSBpZih0ZW1wLT5kYXRhJTI9PTApewogICAgICAgIGlmKGJfaGVhZD09TlVMTCl7CiAgICAgICAgICAgIGJfaGVhZD1iX3RhaWw9dGVtcDsKICAgICAgICB9CiAgICAgICAgZWxzZXsKICAgICAgICAgICAgYl90YWlsLT5uZXh0ID0gdGVtcDsKICAgICAgICAgICAgYl90YWlsID0gdGVtcDsKICAgICAgICB9CiAgICB9CiAgICB0ZW1wID0gdGVtcC0+bmV4dDsKICAgIH0KCiAgICBhX3RhaWwtPm5leHQgPSBiX2hlYWQ7CiAgICBiX3RhaWwtPm5leHQgPSBOVUxMOwogICAgcmV0dXJuIGFfaGVhZDsKfQoKCmludCBtYWluKCl7Cm5vZGUgKmhlYWQgPSBOVUxMOwppbnQgbixkYXRhOwpjaW4+Pm47CmZvcihpbnQgaT0wO2k8bjtpKyspewogICAgY2luPj5kYXRhOwogICAgaW5zZXJ0QXRUYWlsKGhlYWQsZGF0YSk7Cn0Kbm9kZSAqYW5zID0gZXZlbl9hZnRlcl9vZGQoaGVhZCk7CnByaW50KGFucyk7CnJldHVybiAwOwp9Cg==