#include <bits/stdc++.h>
using namespace std;
int main() {
  int N;
  cin >> N;
  vector<int64_t> X(N), Y(N);
  for (int i = 0; i < N; i++) cin >> X[i] >> Y[i];
  while (true) {
    vector<int> A;
    for (int i = 0; i < N; i++)
      if ((X[i] + Y[i]) % 2) A.push_back(i);
    int sz = A.size();
    if (sz != 0 && sz != N) {
      cout << sz << endl;
      for (int i = 0; i < sz; i++) cout << A[i] + 1 << " \n"[i == sz - 1];
      return 0;
    }
    A.clear();
    int x_odd = 0, y_odd = 0;
    for (int i = 0; i < N; i++) {
      if (X[i] % 2) x_odd++, A.push_back(i);
      if (Y[i] % 2) y_odd++;
    }
    sz = A.size();
    if (sz != 0 && sz != N) {
      cout << x_odd << endl;
      for (int i = 0; i < sz; i++) cout << A[i] + 1 << " \n"[i == sz - 1];
      return 0;
    }
    if (x_odd == N)
      for (int i = 0; i < N; i++) X[i]--;
    if (y_odd == N)
      for (int i = 0; i < N; i++) Y[i]--;
    for (int i = 0; i < N; i++) {
      X[i] /= 2;
      Y[i] /= 2;
    }
  }
  return 0;
}
