#include<iostream>
using namespace std;
template < typename typ>
class stack{
typ * tab;
long wybrany, size;
void powiekszSie( ) ;
public :
stack & operator= ( const stack & o) = delete ;
stack( const stack & o) = delete ;
stack( ) ;
~stack( ) { delete [ ] tab; }
void push( typ & co) ;
void pop( ) { wybrany -- ; }
bool empty( ) { return wybrany == 0 ; }
const typ top( ) { return tab[ wybrany - 1 ] ; }
} ;
template < typename typ>
stack< typ> :: stack ( ) {
wybrany = 0 ;
size = 0 ;
tab = new typ[ size] ;
}
template < typename typ>
void stack< typ> :: push ( typ & co) {
if ( wybrany == size)
powiekszSie( ) ;
tab[ wybrany++ ] = co;
}
template < typename typ>
void stack< typ> :: powiekszSie ( ) {
typ * nowa = new typ[ size + 10 ] ;
for ( int i= 0 ; i< size; ++ i)
nowa[ i] = tab[ i] ;
delete [ ] tab;
tab = nowa;
size + = 10 ;
}
int main( ) {
int n;
stack < int > mystack;
cin >> n;
for ( int i= 0 , j; i< n; i++ ) {
cin >> j;
mystack.push ( j) ;
}
stack < int > mystack_np, mystack_p;
while ( ! mystack.empty ( ) ) {
int x = mystack.top ( ) ;
mystack.pop ( ) ;
x% 2 ? mystack_np.push ( x) : mystack_p.push ( x) ;
}
while ( ! mystack_np.empty ( ) ) {
cout << mystack_np.top ( ) << " " ;
mystack_np.pop ( ) ;
}
cout << endl;
while ( ! mystack_p.empty ( ) ) {
cout << mystack_p.top ( ) << " " ;
mystack_p.pop ( ) ;
}
return 0 ;
}
I2luY2x1ZGU8aW9zdHJlYW0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp0ZW1wbGF0ZSA8dHlwZW5hbWUgdHlwPgpjbGFzcyBzdGFja3sKICAgICAgICB0eXAgKnRhYjsgICAgICAgICAgCiAgICAgICAgbG9uZyB3eWJyYW55LCBzaXplOwogICAgICAgIHZvaWQgcG93aWVrc3pTaWUoKTsKcHVibGljOgogICAgICAgIHN0YWNrICZvcGVyYXRvcj0oY29uc3Qgc3RhY2sgJm8pID0gZGVsZXRlOwogICAgICAgIHN0YWNrKGNvbnN0IHN0YWNrICZvKSA9IGRlbGV0ZTsKICAgICAgICBzdGFjaygpOyAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICB+c3RhY2soKXtkZWxldGUgW110YWI7fSAgICAgICAgICAgCiAgICAgICAgdm9pZCBwdXNoKHR5cCAmY28pOyAgIAogICAgICAgIHZvaWQgcG9wKCkge3d5YnJhbnkgLS07fSAgCiAgICAgICAgYm9vbCBlbXB0eSgpIHtyZXR1cm4gd3licmFueSA9PSAwO30KICAgICAgICBjb25zdCB0eXAgdG9wKCl7cmV0dXJuIHRhYlt3eWJyYW55IC0gMV07fSAgICAgCn07CnRlbXBsYXRlIDx0eXBlbmFtZSB0eXA+CnN0YWNrPHR5cD46OnN0YWNrKCl7IAogICAgICAgIHd5YnJhbnkgPSAwOwogICAgICAgIHNpemUgPSAwOyAgICAgICAgICAKICAgICAgICB0YWIgPSBuZXcgdHlwW3NpemVdOyAgICAgICAgICAgICAgIAp9CnRlbXBsYXRlIDx0eXBlbmFtZSB0eXA+CnZvaWQgc3RhY2s8dHlwPjo6cHVzaCh0eXAgJmNvKXsKICAgICAgICBpZih3eWJyYW55ID09IHNpemUpCiAgICAgICAgICAgICAgICBwb3dpZWtzelNpZSgpOyAgICAgICAKICAgICAgICB0YWJbd3licmFueSsrXSA9IGNvOyAgICAgIAp9CnRlbXBsYXRlIDx0eXBlbmFtZSB0eXA+CnZvaWQgc3RhY2s8dHlwPjo6cG93aWVrc3pTaWUoKXsKICAgICAgICB0eXAgKm5vd2EgPSBuZXcgdHlwW3NpemUgKyAxMF07ICAgICAgIAogICAgICAgIGZvcihpbnQgaT0wO2k8c2l6ZTsrK2kpCiAgICAgICAgICAgICAgICBub3dhW2ldID0gdGFiW2ldOwogICAgICAgIGRlbGV0ZSBbXXRhYjsgICAgICAKICAgICAgICB0YWIgPSBub3dhOyAgICAgICAgIAogICAgICAgIHNpemUgKz0gMTA7ICAgICAgICAKfQoKaW50IG1haW4oKXsKICAgIGludCBuOwogICAgc3RhY2sgPGludD4gbXlzdGFjazsKICAgIGNpbj4+bjsgCiAgICBmb3IoaW50IGk9MCwgajsgaTxuOyBpKyspewogICAgIGNpbj4+ajsKICAgICBteXN0YWNrLnB1c2goaik7CiAgICB9CiAgICBzdGFjayA8aW50PiBteXN0YWNrX25wLCBteXN0YWNrX3A7CiAgICB3aGlsZSAoIW15c3RhY2suZW1wdHkoKSl7CiAgICAgICBpbnQgeCA9IG15c3RhY2sudG9wKCk7CiAgICAgICBteXN0YWNrLnBvcCgpOwogICAgICAgeCUyID8gbXlzdGFja19ucC5wdXNoKHgpIDogbXlzdGFja19wLnB1c2goeCk7IAogICAgfQogICAgd2hpbGUgKCFteXN0YWNrX25wLmVtcHR5KCkpewogICAgICAgICAgIGNvdXQ8PCBteXN0YWNrX25wLnRvcCgpPDwiICI7CiAgICAgICAgICAgbXlzdGFja19ucC5wb3AoKTsKICAgIH0KICAgIGNvdXQ8PGVuZGw7CiAgICB3aGlsZSAoIW15c3RhY2tfcC5lbXB0eSgpKXsKICAgICAgICAgICBjb3V0PDwgbXlzdGFja19wLnRvcCgpPDwiICI7CiAgICAgICAgICAgbXlzdGFja19wLnBvcCgpOwogICAgfQogICAgcmV0dXJuIDA7Cn0K