#include <bits/stdc++.h>
struct data {
  int val;
  data(int val) : val(val) {}
};
bool operator<(const data lhs, const data rhs) {
  std::cout << "? " << lhs.val << ' ' << rhs.val << std::endl;
  char c;
  std::cin >> c;
  return c == '<';
}
int t, n;
std::set<data> a, b;
int main() {
  std::ios_base::sync_with_stdio(false);
  std::cin.tie(nullptr);
  std::cout.tie(nullptr);
  std::cin >> t;
  while (t--) {
    std::cin >> n;
    a.clear();
    b.clear();
    for (int i = 1; i <= 2 * n; ++i) {
      if (a.size() < b.size())
        a.emplace(i);
      else
        b.emplace(i);
      if (a.size() + b.size() > n)
        if (*a.begin() < *b.begin())
          a.erase(a.begin());
        else
          b.erase(b.begin());
    }
    std::cout << '!' << std::endl;
  }
  return 0;
}
