#include <bits/stdc++.h>
using namespace std;
vector<pair<long long, long long> > v;
long long distance(long long i, long long j) {
  return (v[i].first - v[j].first) * (v[i].first - v[j].first) +
         (v[i].second - v[j].second) * (v[i].second - v[j].second);
}
long long check(long long i, long long j, long long k) {
  return (v[j].second - v[i].second) * (v[k].first - v[i].first) ==
         (v[k].second - v[i].second) * (v[j].first - v[i].first);
}
int main() {
  long long n;
  scanf("%lld", &n);
  ;
  for (int i = 0; i < n; i++) {
    long long x, y;
    scanf("%lld", &x);
    ;
    scanf("%lld", &y);
    ;
    v.push_back(make_pair(x, y));
  }
  long long ans1 = 0, minn = distance(1, 0), ans2 = 1;
  for (int i = 2; i < n; i++) {
    long long dist = distance(i, 0);
    if (dist < minn) {
      minn = dist;
      ans2 = i;
    }
  }
  vector<pair<long long, long long> > v;
  for (int i = 1; i < n; i++) {
    if (i == ans2) continue;
    if (!check(0, ans2, i)) {
      long long dist = distance(i, 0);
      v.push_back(make_pair(dist, i));
    }
  }
  sort(v.begin(), v.end());
  cout << 1 << " " << ans2 + 1 << " " << v[0].second + 1 << "\n";
  return 0;
}
