#include <bits/stdc++.h>
using namespace std;
const long long MAXN = 110;
const long long MOD = 1e9 + 7;
vector<long long> adj[MAXN];
vector<pair<long long, long long> > ver;
long long mark[MAXN];
long long n;
bool dfs(long long v, long long b) {
  if (v == b) {
    return true;
  }
  for (auto u : adj[v]) {
    if (!mark[u]) {
      mark[u] = 1;
      if (dfs(u, b)) {
        return true;
      }
    }
  }
  return false;
}
int main() {
  cin >> n;
  for (int i = 1; i <= n; i++) {
    long long x, a, b;
    cin >> x >> a >> b;
    if (x == 1) {
      for (int j = 0; j < ver.size(); j++) {
        pair<long long, long long> u = ver[j];
        if (u.first > a && u.second < b) {
          adj[j + 1].push_back(ver.size() + 1);
        } else if ((b > u.first && u.first > a) ||
                   (a < u.second && u.second < b)) {
          adj[j + 1].push_back(ver.size() + 1);
          adj[ver.size() + 1].push_back(j + 1);
        }
      }
      ver.push_back(make_pair(a, b));
    } else {
      memset(mark, 0, sizeof mark);
      if (dfs(a, b)) {
        cout << "YES" << '\n';
      } else {
        cout << "NO" << '\n';
      }
    }
  }
}
