#include <bits/stdc++.h>   using namespace std;   long long r, d, n;   vector<vector<long long>> data;   const long double pi = 3.1415926535897932;   long long per(vector<long long> x, vector<long long> y) {     long long su = 0;     for (long long(i) = 0; (i) < (5); (i)++) {       su += x[i] * y[i];     }     return su;   }   long double pere(vector<long long> x, vector<long long> y) {     long double su = per(x, y);     su /= sqrt(per(x, x)) * sqrt(per(y, y));     su = acos(su);     return su;   }   int main() {     cin >> n;     data.resize(n);     for (long long(i) = 0; (i) < (n); (i)++) {       for (long long(j) = 0; (j) < (5); (j)++) {         data[i].resize(5);         cin >> data[i][j];       }     }     if (n > 32) {       cout << 0;       return 0;     }     vector<long long> result;     for (long long(i) = 0; (i) < (n); (i)++) {       bool mark = false;       for (long long(j) = 0; (j) < (n); (j)++) {         if (mark) {           break;         }         for (long long(l) = 0; (l) < (n); (l)++) {           if (i == j || j == l || i == l) {             continue;           }           vector<long long> x, y;           x.resize(5);           y.resize(5);           for (long long(h) = 0; (h) < (5); (h)++) {             x[h] = data[j][h] - data[i][h];             y[h] = data[l][h] - data[i][h];           }           if (pere(x, y) < pi / 2) {             mark = true;             break;           }         }       }       if (!mark) {         result.push_back(i);       }     }     cout << result.size() << endl;     for (long long(i) = 0; (i) < (result.size()); (i)++) {       cout << result[i] + 1 << endl;     }   }   