#include <bits/stdc++.h>
using namespace std;
int n, i, j;
pair<pair<int, int>, int> a[100002];
bool lav(int i) {
  int x1, u1, x2, u2, x3, u3;
  x1 = a[i].first.first;
  u1 = a[i].first.second;
  x2 = a[i + 1].first.first;
  u2 = a[i + 1].first.second;
  x3 = a[i + 2].first.first;
  u3 = a[i + 2].first.second;
  long long dx1, dx2, du1, du2;
  dx1 = x2 - x1;
  du1 = u2 - u1;
  dx2 = x3 - x2;
  du2 = u3 - u2;
  if ((dx1 == 0 && dx2 == 0) || (du1 == 0 && du2 == 0) ||
      dx1 * du2 == dx2 * du1)
    return false;
  return true;
}
int main() {
  scanf("%d", &n);
  for (i = 1; i <= n; i++) {
    scanf("%d%d", &a[i].first.first, &a[i].first.second);
    a[i].second = i;
  }
  sort(a + 1, a + 1 + n);
  int x = a[1].second, u = a[2].second, p = a[3].second;
  for (i = 1; i <= n; i++) {
    if (lav(i)) {
      x = a[i].second;
      u = a[i + 1].second;
      p = a[i + 2].second;
      break;
    }
  }
  if (x > u) swap(x, u);
  if (x > p) swap(x, p);
  if (u > p) swap(u, p);
  cout << x << " " << u << " " << p << endl;
  return 0;
}
