#include <bits/stdc++.h>
using ll = long long;
using namespace std;
struct point {
  int x, y;
  point() {}
  point(int _x, int _y) : x(_x), y(_y) {}
  bool operator<(point const& o) const {
    return x < o.x || (x == o.x && y < o.y);
  }
  point operator+(point const& o) const { return {x + o.x, y + o.y}; }
  point operator-(point const& o) const { return {x - o.x, y - o.y}; }
  ll operator*(point const& o) const { return (ll)x * o.y - (ll)y * o.x; }
};
template <class T>
int sign(T x) {
  return x > 0 ? 1 : (x < 0 ? -1 : 0);
}
int turn(point const& a, point const& b, point const& c) {
  return sign((c - a) * (b - a));
}
using envelope = map<int, int>;
template <class Iter>
point to_point(Iter const& it) {
  return {it->first, it->second};
}
bool in_envelop(point const& p, envelope const& e) {
  auto it = e.lower_bound(p.x);
  if (it == end(e)) return false;
  if (it == begin(e)) return it->first == p.x && it->second >= p.y;
  return turn(to_point(prev(it)), to_point(it), p) >= 0;
}
void insert(point const& p, envelope& e) {
  if (in_envelop(p, e)) return;
  e[p.x] = p.y;
  auto it = e.upper_bound(p.x);
  if (it != end(e)) {
    auto pr = it;
    it = next(pr);
    while (it != end(e)) {
      if (turn(p, to_point(pr), to_point(it)) <= 0) {
        pr = e.erase(pr);
        it = next(pr);
      } else {
        break;
      }
    }
  }
  it = e.lower_bound(p.x);
  if (it != begin(e)) --it;
  if (it != begin(e)) {
    auto pr = it;
    it = prev(pr);
    while (pr != begin(e)) {
      if (turn(p, to_point(pr), to_point(it)) >= 0) {
        pr = prev(e.erase(pr));
        if (pr == begin(e)) break;
        it = prev(pr);
      } else {
        break;
      }
    }
  }
}
void solve() {
  envelope top;
  envelope bottom;
  int q;
  cin >> q;
  for (int i = 0; i < q; ++i) {
    int tp, x, y;
    cin >> tp >> x >> y;
    if (tp == 1) {
      insert({x, y}, top);
      insert({x, -y}, bottom);
    } else {
      auto ans = in_envelop({x, y}, top) && in_envelop({x, -y}, bottom);
      cout << (ans ? "YES" : "NO") << endl;
    }
  }
}
int main() {
  ios::sync_with_stdio(false);
  int tests = 1;
  for (int test = 0; test < tests; ++test) {
    solve();
  }
}
