func_code_string: #include <bits/stdc++.h>   using namespace std;   int n;   long long x[100010];   long long y[100010];   long long dispoint(long long x1, long long y1, long long x2, long long y2) {     return (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);   }   bool issame(long long x1, long long y1, long long x2, long long y2,               long long x3, long long y3) {     long long xa = x2 - x1;     long long ya = y2 - y1;     long long xb = x3 - x1;     long long yb = y3 - y1;     if (xa * yb == xb * ya)       return 1;     else       return 0;   }   double disline(long long x1, long long y1, long long x2, long long y2,                  long long x3, long long y3) {     double xa = x1 - x3;     double ya = y1 - y3;     double xb = x2 - x3;     double yb = y2 - y3;     double l = sqrt((xa - xb) * (xa - xb) + (ya - yb) * (ya - yb));     double s = abs(xa * yb - xb * ya);     double h = s / l;     return h;   }   int main() {     scanf( %d , &n);     for (int i = 1; i <= n; i++) scanf( %I64d%I64d , &x[i], &y[i]);     int pos1 = 2;     long long mindis = dispoint(x[1], y[1], x[2], y[2]);     for (int i = 3; i <= n; i++) {       long long tmpdis = dispoint(x[1], y[1], x[i], y[i]);       if (tmpdis < mindis) {         mindis = tmpdis;         pos1 = i;       }     }     int pos2 = 0;     double mindis2 = 1e18;     for (int i = 2; i <= n; i++) {       if (i == pos1) continue;       if (issame(x[1], y[1], x[pos1], y[pos1], x[i], y[i])) continue;       double tmpdis = disline(x[1], y[1], x[pos1], y[pos1], x[i], y[i]);       if (tmpdis < mindis2) {         mindis2 = tmpdis;         pos2 = i;       }     }     printf( 1 %d %d n , pos1, pos2);     return 0;   }   