#include <bits/stdc++.h>
using namespace std;
const int N = 100000 + 7;
const int M = 20;
const int inf = 1e9 + 7;
const long long linf = 1e18 + 7;
const double pi = acos(-1);
const double eps = 1e-20;
const bool multipleTest = false;
long long sqr(long long x) { return x * x; }
double calc(double x) {
  if (x >= 2 * pi) x -= 2 * pi;
  if (x < 0) x += 2 * pi;
  return x;
}
struct point {
  int x, y;
  long long dist(point other) { return sqr(x - other.x) + sqr(y - other.y); }
  double deg(point other) { return atan2(y - other.y, x - other.x); }
  bool straight(point a, point b) {
    return ((long long)x - a.x) * ((long long)b.y - a.y) ==
           ((long long)b.x - a.x) * ((long long)y - a.y);
  }
  bool sameDir(point a, point r) {
    return straight(a, r) && (((long long)x - r.x) * (a.x - r.x)) >= 0 &&
           ((long long)y - r.y) * (a.y - r.y) >= 0;
  }
};
point p[N];
int id[N];
int n;
bool cmp(int i, int j) {
  if (!p[i].sameDir(p[j], p[0])) {
    return p[i].deg(p[0]) < p[j].deg(p[0]);
  }
  return p[i].dist(p[0]) < p[j].dist(p[0]);
}
double deg(point a, point b) { return calc(b.deg(p[0]) - a.deg(p[0])); }
void solve() {
  cin >> n;
  for (int i = 0; i < n; ++i) {
    scanf("%d%d", &p[i].x, &p[i].y);
    id[i] = i;
  }
  sort(id + 1, id + n, cmp);
  int i = 1;
  int j = 2;
  while (i < n) {
    j = i + 1;
    while (j < n && p[id[i]].sameDir(p[id[j]], p[0])) ++j;
    if (j == n) break;
    double x = deg(p[id[i]], p[id[j]]);
    if (p[id[i]].straight(p[0], p[id[j]]) || x <= 0 || x >= pi) {
      i = j;
      continue;
    } else
      break;
  }
  if (j < n)
    cout << 1 << " " << id[i] + 1 << " " << id[j] + 1;
  else {
    int tmp = n - 1;
    while (tmp > 2 && p[id[tmp - 1]].sameDir(p[id[n - 1]], p[0])) --tmp;
    if (tmp != 1 && !p[0].straight(p[id[tmp]], p[id[1]])) {
      double x = deg(p[id[tmp]], p[id[1]]);
      if (x > 0 && x < pi) {
        cout << 1 << " " << id[tmp] + 1 << " " << id[1] + 1 << "\n";
        return;
      }
    }
  }
}
int main() {
  int Test = 1;
  if (multipleTest) {
    cin >> Test;
  }
  for (int i = 0; i < Test; ++i) {
    solve();
  }
}
