#include <bits/stdc++.h>
using namespace std;
template <typename Tp>
inline void read(Tp &x) {
  static char c;
  static bool neg;
  x = 0, c = getchar(), neg = false;
  for (; !isdigit(c); c = getchar()) {
    if (c == '-') {
      neg = true;
    }
  }
  for (; isdigit(c); c = getchar()) {
    x = x * 10 + c - '0';
  }
  if (neg) {
    x = -x;
  }
}
const int N = 128 + 5;
int T, h, rest;
int k;
bool vis[N], dfsVis[N];
vector<int> G[N];
inline void input(int u) {
  printf("? %d\n", u);
  fflush(stdout);
  vis[u] = true;
  --rest;
  scanf("%d", &k);
  for (int i = 0, v; i < k; ++i) {
    scanf("%d", &v);
    G[u].emplace_back(v);
    G[v].emplace_back(u);
  }
}
inline void output(int u) {
  printf("! %d\n", u);
  fflush(stdout);
}
int dep[N];
int ans;
void dfs(int u) {
  dfsVis[u] = true;
  if (!vis[u] && rest > 0) {
    input(u);
    if (k == 1) {
      dep[u] = 1;
      return;
    }
    if (k == 2) {
      ans = u;
    }
  }
  if (dep[u] >= h) {
    return;
  }
  for (size_t i = 0; i < G[u].size(); ++i) {
    int v = G[u][i];
    if (!dfsVis[v]) {
      dep[v] = dep[u] + 1;
      dfs(v);
      if (dep[v] != dep[u] + 1 && dep[v] != dep[u] - 1) {
        dep[u] = dep[v] + 1;
        return;
      }
    }
  }
}
inline void solve() {
  memset(dep, 0, sizeof(dep));
  memset(vis, 0, sizeof(vis));
  memset(dfsVis, 0, sizeof(dfsVis));
  for (int i = 0; i < N; ++i) {
    G[i].clear();
  }
  scanf("%d", &h);
  rest = 16;
  int u = 1;
  do {
    input(u);
    if (k == 2) {
      output(u);
      return;
    }
    if (k == 3) {
      for (size_t i = 0; i < G[u].size(); ++i) {
        int v = G[u][i];
        if (!vis[v]) {
          u = v;
          break;
        }
      }
    }
  } while (k != 1);
  dfsVis[u] = true;
  dep[u] = 1;
  int v = G[u][0];
  dfsVis[v] = true;
  dep[v] = 2;
  ans = -1;
  dfs(v);
  if (ans == -1) {
    for (int i = 1; i < N; ++i) {
      if (!vis[i] && dep[i] == h) {
        ans = i;
      }
    }
  }
  output(ans);
}
int main() {
  scanf("%d", &T);
  for (int cas = 0; cas < T; ++cas) {
    solve();
  }
}
