#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e5 + 100;
long long n, j;
pair<pair<long double, long double>, long long> a[MAXN];
pair<long long, long long> p[MAXN];
int main() {
  cin >> n;
  for (long long i = 0; i < n; i++) {
    cin >> p[i].first >> p[i].second;
  }
  for (long long i = 1; i < n; i++) {
    a[i].second = i;
    a[i].first.second =
        (p[i].second - p[0].second) * (p[i].second - p[0].second) +
        (p[i].first - p[0].first) * (p[i].first - p[0].first);
    a[i].first.first =
        atan2(p[i].second - p[0].second, p[i].first - p[0].first);
  }
  sort(a + 1, a + n);
  a[0].second = a[n - 1].second;
  a[0].first.first = a[n - 1].first.first;
  a[0].first.second = a[n - 1].first.second;
  j = 1;
  for (long long i = 2; i < n; i++) {
    if ((p[a[1].second].first - p[0].first) *
            (p[a[i].second].second - p[0].second) !=
        (p[a[i].second].first - p[0].first) *
            (p[a[1].second].second - p[0].second)) {
      cout << 1 << ' ' << a[1].second + 1 << ' ' << a[i].second + 1 << endl;
      return 0;
    }
  }
  return 0;
}
