#include <bits/stdc++.h>
using namespace std;
struct Point {
  int id;
  long long x, y;
} p[100001];
bool cmp(Point a, Point b) {
  if (a.x != b.x)
    return a.x < b.x;
  else
    return a.y < b.y;
}
int n, flag = 1, i;
int main() {
  while (~scanf("%d", &n)) {
    for (int i = 0; i < n; i++) {
      scanf("%lld%lld", &p[i].x, &p[i].y);
      p[i].id = i + 1;
    }
    sort(p, p + n, cmp);
    for (i = 2; i < n && flag; i++) {
      long long x1 = p[0].x - p[i].x, x2 = p[1].x - p[i].x;
      long long y1 = p[0].y - p[i].y, y2 = p[1].y - p[i].y;
      if (x1 * y2 != x2 * y1) {
        printf("%d %d %d", p[0].id, p[1].id, p[i].id);
        flag = 0;
      }
    }
    printf("\n");
  }
  return 0;
}
