#include<iostream>
#include<vector>
#include<algorithm>
#include<string>
#include<cstdlib>
#include<ctime>
#include<cassert>
using namespace std;
bool comp(int pa, int pb){
if(pa > pb)
return true;
else
return false;
}
void Fun(vector<int> &vecint){
if(vecint.size()<2){
return;
}
vector<int>::iterator beg, end;
beg = vecint.begin();
end = vecint.end()-1;
while(true){ // 调整数据,前面为奇数,后面为偶数
while((beg <= end) && (*beg%2 == 1))
++beg;
while((beg < end) && (*end%2 == 0))
--end;
if(beg < end)
swap(*beg, *end);
else
break;
}
sort(vecint.begin(), beg); // 对奇数进行排序,调用算法库中的排序算法
//sort(beg, vecint.end(), greater<int>()); // 排序,用到了函数对象模板
sort(beg, vecint.end(), comp); // 排序,用到了函数对象模板
}
int main(){
int tmp=10;
//cin>>tmp;
vector<int> vecint;
srand(time(0));
while(cin>>tmp){ // 输入数据
//vecint.push_back(rand()%90+10);
if(tmp < 0)
break;
vecint.push_back(tmp);
}
Fun(vecint);
for(vector<int>::iterator beg=vecint.begin(); beg!=vecint.end(); ++beg)
cout<<*beg<<' ';
cout<<endl;
return 0;
}