#include <bits/stdc++.h>
using namespace std;
struct point {
  long long x, y;
  int id;
};
bool cmp(point a, point b) {
  if (a.y != b.y) return (a.y < b.y);
  return (a.x < b.x);
}
long long area(long long x1, long long x2, long long x3, long long y1,
               long long y2, long long y3) {
  long long res;
  res = x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2);
  return res;
}
int main() {
  int n, i;
  scanf("%d", &n);
  vector<point> v(n);
  for (i = 0; i < n; i++) {
    scanf("%lld%lld", &v[i].x, &v[i].y);
    v[i].id = i + 1;
  }
  sort(v.begin(), v.end(), cmp);
  for (i = 2; i < n; i++) {
    if (area(v[0].x, v[1].x, v[i].x, v[0].y, v[1].y, v[i].y) != 0LL) break;
  }
  printf("%d %d %d\n", v[0].id, v[1].id, v[i].id);
  return 0;
}
