#include <bits/stdc++.h>
using namespace std;
pair<pair<int, int>, int> a[111111];
long long sqdist(const pair<int, int> &a, const pair<int, int> &b) {
  return 1LL * (a.first - b.first) * (a.first - b.first) +
         1LL * (a.second - b.second) * (a.second - b.second);
}
long long vec(long long x1, long long y1, long long x2, long long y2) {
  return x1 * y2 - x2 * y1;
}
int main() {
  int n;
  scanf("%d", &n);
  for (int i = 0; i < n; i++) {
    int x, y;
    scanf("%d%d", &x, &y);
    a[i] = {{x, y}, i + 1};
  }
  auto t = a[0];
  sort(a, a + n,
       [t](const pair<pair<int, int>, int> &a,
           const pair<pair<int, int>, int> &b) {
         return sqdist(a.first, t.first) < sqdist(b.first, t.first);
       });
  for (int i = 2; i < n; i++) {
    if (vec(a[i].first.first - a[0].first.first,
            a[i].first.second - a[0].first.second,
            a[1].first.first - a[0].first.first,
            a[1].first.second - a[0].first.second) != 0) {
      printf("%d %d %d", a[0].second, a[1].second, a[i].second);
      return 0;
    }
  }
  return 0;
}
