#include #include #include using namespace std; struct MyQueue { vector v; int k = 0; void push(int n) { v.push_back(n); } int front() { return v[k]; } int pop() { k = k + 1; return v[k - 1]; } int size() { return v.size() - k; } void clear() { v.clear(); k = 0; } bool empty() { return size() == 0; } }; int main() { MyQueue even; MyQueue odd; int n; cin >> n; for (int i = 0; i < n; i++) { int t; cin >> t; if (t % 2 == 0) { even.push(t); } else { odd.push(t); } } while (!even.empty()) { cout << even.pop() << " "; } while (!odd.empty()) { cout << odd.pop() << " "; } return 0; }