#include <bits/stdc++.h>
using namespace std;
const long long N = 1000 + 20;
const long long INF = 1e18;
long long x[N], y[N];
long long hM2(long long n) {
  long long cnt = 0;
  while (!(n % 2)) {
    cnt++;
    n /= 2;
  }
  return cnt;
}
int main() {
  ios_base::sync_with_stdio(false), cin.tie(0), cout.tie(0);
  long long n;
  cin >> n;
  for (int i = 0; i < n; i++) cin >> x[i] >> y[i];
  long long mini = INF;
  long long dis = 0;
  for (int i = 0; i < n; i++) {
    for (int j = 0; j < n; j++) {
      if (i == j) continue;
      dis = pow((x[i] - x[j]), 2) + pow((y[i] - y[j]), 2);
      mini = min(mini, hM2(dis));
    }
  }
  vector<long long> v;
  v.push_back(1);
  for (int i = 1; i < n; i++) {
    dis = pow((x[i] - x[0]), 2) + pow((y[i] - y[0]), 2);
    if (mini < hM2(dis)) v.push_back(i + 1);
  }
  cout << v.size() << endl;
  for (int i = 0; i < v.size(); i++) cout << v[i] << endl;
  cout << endl;
  return 0;
}
