#include <bits/stdc++.h>
using namespace std;
const int N = 105;
const int mod = 1e9 + 7;
struct node {
  long long id, x, y;
} p[100005];
bool cmp(node a, node b) {
  if (a.x == b.x) return a.y < b.y;
  return a.x < b.x;
}
int can(node a, node b, node c) {
  if ((b.y - a.y) * (c.x - a.x) == (c.y - a.y) * (b.x - a.x)) return 0;
  return 1;
}
int n;
int main() {
  int i, j, k;
  while (scanf("%d", &n) != EOF) {
    for (i = 1; i <= n; i++) {
      scanf("%I64d%I64d", &p[i].x, &p[i].y);
      p[i].id = i;
    }
    sort(p + 1, p + 1 + n, cmp);
    for (i = 1; i + 2 <= n; i++) {
      if (can(p[i], p[i + 1], p[i + 2])) {
        printf("%I64d %I64d %I64d\n", p[i].id, p[i + 1].id, p[i + 2].id);
        break;
      }
    }
  }
  return 0;
}
