#include <bits/stdc++.h>
using namespace std;
struct data {
  long long int x, y, z;
} arr[100005];
bool comp(data a, data b) {
  if (a.x == b.x) {
    return a.y < b.y;
  } else
    return a.x < b.x;
}
long double dist(long double x1, long double y1, long double x2,
                 long double y2) {
  long double X = (x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2);
  X = sqrt(X);
  return X;
}
int main() {
  long long int n, X1, X2;
  cin >> n;
  for (long long int i = 0; i < n; i++) {
    long long int a, b;
    cin >> a >> b;
    arr[i].x = a;
    arr[i].y = b;
    arr[i].z = i + 1;
  }
  sort(arr, arr + n, comp);
  long long int t = 0;
  for (long long i = 0; i < n - 2; i++) {
    long long int p1, p2, p3, q1, q2, q3;
    p1 = arr[i].x;
    p2 = arr[i + 1].x;
    p3 = arr[i + 2].x;
    q1 = arr[i].y;
    q2 = arr[i + 1].y;
    q3 = arr[i + 2].y;
    if ((p1 != p2 || p1 != p3 || p2 != p3) &&
        (q1 != q2 || q1 != q3 || q2 != q3)) {
      if (((p2 - p1) * (q3 - q1)) != ((q2 - q1) * (p3 - p1))) {
        cout << arr[i].z << " " << arr[i + 1].z << " " << arr[i + 2].z << endl;
        break;
      }
    }
  }
}
