#include <bits/stdc++.h>
using namespace std;
struct node {
  int x, y, id;
  bool operator<(const node& a) const {
    if (x != a.x)
      return x < a.x;
    else
      return y < a.y;
  }
} s[100005];
long long distinct(node a, node b, node c) {
  long long num1 = 1ll * (b.x - a.x) * (c.y - a.y);
  long long num2 = 1ll * (c.x - a.x) * (b.y - a.y);
  return num1 - num2;
}
int main() {
  int n;
  scanf("%d", &n);
  for (int i = 1; i <= int(n); i++) {
    int a, b;
    scanf("%d%d", &s[i].x, &s[i].y);
    s[i].id = i;
  }
  sort(s + 1, s + n + 1);
  node s1 = s[1], s2 = s[2];
  for (int i = 3; i <= n; i++) {
    node s3 = s[i];
    if (distinct(s1, s2, s3) != 0) {
      printf("%d %d %d\n", s1.id, s2.id, s3.id);
      break;
    }
  }
  return 0;
}
