#include <bits/stdc++.h>
using namespace std;
struct Point {
  void insert(long long int a, long long int b, int c) { x = a, y = b, id = c; }
  bool operator<(const Point& rhs) const {
    return x < rhs.x || (x == rhs.x && y < rhs.y);
  }
  long long int x, y;
  int id;
};
Point d[100100];
bool check(Point a, Point b, Point c) {
  if ((b.x - a.x) * (c.y - a.y) == (b.y - a.y) * (c.x - a.x)) return false;
  return true;
}
int main() {
  int n, i;
  scanf("%d", &n);
  for (i = 1; i <= n; i++) {
    long long int x, y;
    scanf("%I64d%I64d", &x, &y);
    d[i].insert(x, y, i);
  }
  sort(d + 1, d + n + 1);
  for (i = 1; i <= n - 2; i++) {
    if (check(d[i], d[i + 1], d[i + 2])) {
      printf("%d %d %d", d[i].id, d[i + 1].id, d[i + 2].id);
      return 0;
    }
  }
  return 0;
}
