#include <bits/stdc++.h>
using namespace std;
const int dx[4] = {1, 0, -1, 0}, dy[4] = {0, 1, 0, -1};
bool ckmin(int& a, int b) { return b < a ? a = b, true : false; }
bool ckmax(int& a, int b) { return b > a ? a = b, true : false; }
const long long linf = 4000000000000000000LL;
const long long inf = 1000000007;
const long double pi = 3.1415926535;
void pv(vector<int> a) {
  for (auto& x : a) cout << x << " ";
  cout << '\n';
}
void pv(vector<long long> a) {
  for (auto& x : a) cout << x << " ";
  cout << '\n';
}
void pv(vector<vector<int> > a) {
  for (int i = (0); i < (int(a.size())); ++i) {
    cout << i << '\n';
    pv(a[i]);
    cout << '\n';
  }
}
void pv(vector<vector<long long> > a) {
  for (int i = (0); i < (int(a.size())); ++i) {
    cout << i << '\n';
    pv(a[i]);
  }
  cout << '\n';
}
void pv(vector<string> a) {
  for (auto& x : a) cout << x << '\n';
  cout << '\n';
}
void setIO(string second) {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  if (int(second.size())) {
    freopen((second + ".in").c_str(), "r", stdin);
    if (second != "test1") freopen((second + ".out").c_str(), "w", stdout);
  }
}
int main() {
  setIO("");
  int n;
  cin >> n;
  vector<long long> a(n);
  for (auto& x : a) cin >> x;
  vector<int> count(60);
  for (int i = (0); i < (n); ++i) {
    int ans = 0;
    while (!(a[i] & 1)) {
      ans++;
      a[i] >>= 1;
    }
    a[i] <<= ans;
    count[ans]++;
  }
  int index = max_element(count.begin(), count.end()) - count.begin();
  cout << n - count[index] << '\n';
  if (index == 0) {
    for (int i = (0); i < (n); ++i) {
      if (a[i] & 1)
        ;
      else
        cout << a[i] << " ";
    }
    return 0;
  }
  for (int i = (0); i < (n); ++i) {
    if ((((a[i] >> index) & 1)) && !((a[i] >> index - 1) & 1)) {
    } else {
      cout << a[i] << " ";
    }
  }
}
