#include <bits/stdc++.h>
void printvec(const std::vector<int>& vec) {
  for (int i = 0; i < vec.size(); i++) {
    std::cout << vec[i] << " ";
  }
  std::cout << std::endl;
}
const int MAX_N = 5e5 + 10;
int N;
int a[MAX_N], b[MAX_N];
char c[MAX_N];
int main(int argc, char** argv) {
  std::cin.tie(0);
  std::ios::sync_with_stdio(false);
  std::cin >> N;
  for (int64_t i = (1); i <= (N); i++) {
    std::cin >> c[i] >> a[i] >> b[i];
  }
  int min_max = 0;
  int max_max = 0;
  for (int64_t i = (1); i <= (N); i++) {
    if (c[i] == '+') {
      min_max = std::max(min_max, std::min(a[i], b[i]));
      max_max = std::max(max_max, std::max(a[i], b[i]));
    } else {
      if (min_max <= std::min(a[i], b[i]) && max_max <= std::max(a[i], b[i])) {
        std::cout << "YES" << std::endl;
      } else {
        std::cout << "NO" << std::endl;
      }
    }
  }
  return 0;
}
