#include <bits/stdc++.h>
using namespace std;
const int N = 1050;
int n, x[N], y[N];
vector<int> v;
inline void Report(vector<int> v) {
  if (!v.size() || v.size() >= n) return;
  cout << v.size() << '\n';
  while (v.size())
    cout << v[v.size() - 1], v.pop_back(), cout << ((v.empty()) ? '\n' : ' ');
  exit(0);
}
int main() {
  int i, j, a, b, vv;
  cin >> n;
  v.clear();
  for (i = 1; i <= n; ++i) cin >> x[i] >> y[i];
  while (1) {
    v.clear();
    for (i = 1; i <= n; ++i)
      if ((x[i] + y[i]) & 1) v.push_back(i);
    Report(v);
    vv = (x[1] + y[1]) & 1;
    if (vv < 0) vv = -vv;
    for (i = 1; i <= n; ++i)
      x[i] += vv, a = (x[i] + y[i]) / 2, b = (x[i] - y[i]) / 2, x[i] = a,
                  y[i] = b;
  }
  assert(0);
  return 0;
}
