#include <bits/stdc++.h>
const int N = 202;
int T, n;
char query(int i, int j) {
  printf("? %d %d\n", i, j);
  fflush(stdout);
  static char s[3];
  scanf("%s", s);
  return s[0];
}
void insert(std::vector<int> &g, int i) {
  g.push_back(i);
  if (g.size() == 1) return;
  int j = g.size() - 2;
  while (j >= 0) {
    char c = query(g[j], i);
    if (c == '>') break;
    --j;
  }
  for (int k = g.size() - 1; k > j + 1; k--) g[k] = g[k - 1];
  g[j + 1] = i;
}
void del(std::vector<int> &L, std::vector<int> &R) {
  char c = query(L.back(), R.back());
  c == '>' ? R.pop_back() : L.pop_back();
}
int main() {
  scanf("%d", &T);
  while (T--) {
    scanf("%d", &n);
    std::vector<int> L, R;
    insert(L, 1);
    for (int i = 2; i <= n; i++) insert(R, i);
    for (int i = n + 1; i <= n + n; i++) {
      L.size() <= R.size() ? insert(L, i) : insert(R, i);
      del(L, R);
    }
    printf("!\n");
    fflush(stdout);
  }
  return 0;
}
