#include <bits/stdc++.h>
using namespace std;
pair<int, int> P[100001];
pair<int, int> yu[100001];
int cmp(pair<int, int> a, pair<int, int> b) {
  if (a.second < b.second) return 1;
  if (a.second > b.second) return 0;
  return a.first < b.first;
}
int main() {
  int n, i;
  cin >> n;
  for (i = 1; i <= n; i++) {
    cin >> P[i].first;
    yu[i].first = P[i].first;
    cin >> P[i].second;
    yu[i].second = P[i].second;
  }
  int sign = 0;
  sort(&P[1], &P[n + 1], cmp);
  double xx, yy, x, y;
  for (i = 3; i <= n; i++) {
    if (P[i].first == P[1].first && P[i].first == P[2].first) continue;
    if (P[i].second == P[1].second && P[i].second == P[2].second) continue;
    x = P[i].first - P[1].first;
    y = P[i].second - P[1].second;
    xx = P[i].first - P[2].first;
    yy = P[i].second - P[2].second;
    if (y / x == yy / xx) continue;
    sign = i;
    break;
  }
  int uu = 0;
  for (i = 1; i <= n; i++) {
    if (yu[i].first == P[1].first && yu[i].second == P[1].second) {
      cout << i;
      uu++;
    } else if (yu[i].first == P[2].first && yu[i].second == P[2].second) {
      cout << i;
      uu++;
    } else if (yu[i].first == P[sign].first && yu[i].second == P[sign].second) {
      cout << i;
      uu++;
    }
    if (uu == 3) return 0;
    cout << " ";
  }
  return 0;
}
