func_code_string: #include <bits/stdc++.h>   using namespace std;   using vi = vector<int>;   using vvi = vector<vi>;   using vvvi = vector<vvi>;   using ll = long long;   using vll = vector<ll>;   using vvll = vector<vll>;   using vvvll = vector<vvll>;   using ull = unsigned long long;   using vb = vector<bool>;   using vvb = vector<vb>;   using vd = vector<double>;   using vvd = vector<vd>;   using vvvd = vector<vvd>;   using vs = vector<string>;   using vvs = vector<vs>;   using vc = vector<char>;   using vvc = vector<vc>;   using ii = pair<int, int>;   using vii = vector<ii>;   using vvii = vector<vii>;   using dd = pair<double, double>;   using vdd = vector<dd>;   using vvdd = vector<vdd>;   using Mii = map<int, int>;   using vMii = vector<Mii>;   using Si = set<int>;   using vSi = vector<Si>;   using vvSi = vector<vSi>;   int main() {     int n;     while (cin >> n) {       vi a;       vector<pair<ll, ll>> v(n);       for (int i = 0; i < n; ++i) {         int x, y;         cin >> x >> y;         v[i] = {x, y};       }       vll d(n);       for (int i = 0; i < n; ++i) {         d[i] = (v[i].first - v[0].first) * (v[i].first - v[0].first) +                (v[i].second - v[0].second) * (v[i].second - v[0].second);       }       bool par = true;       for (int i = 0; i < n and par; ++i) {         if (d[i] & 1LL) par = false;       }       while (par) {         for (int i = 0; i < n; ++i) {           d[i] >>= 1LL;           if (d[i] & 1LL) par = false;         }       }       for (int i = 0; i < n; ++i)         if (d[i] & 1LL) a.push_back(i + 1);       cout << a.size() << endl;       for (int x : a) cout << x <<    ;       cout << endl;     }   }   