#include <bits/stdc++.h>
using namespace std;
const int N = 5e5 + 5;
struct Query {
  char ch;
  int x, y;
} query[N];
int n, x, y, maxx, maxy;
char tmp;
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; ++i) {
    cin >> tmp;
    scanf("%d%d", &x, &y);
    query[i].ch = tmp;
    if (x < y) swap(x, y);
    query[i].x = x;
    query[i].y = y;
  }
  maxx = query[1].x;
  maxy = query[1].y;
  for (int i = 2; i <= n; ++i) {
    if (query[i].ch == '?') {
      if (query[i].x < maxx || query[i].y < maxy)
        printf("NO\n");
      else
        printf("YES\n");
    } else {
      maxx = max(maxx, query[i].x);
      maxy = max(maxy, query[i].y);
    }
  }
  return 0;
}
