#include <bits/stdc++.h>
using namespace std;
int main() {
  int t, i1, n, i, k;
  string ch;
  srand(time(0));
  cin >> t;
  for (i1 = 1; i1 <= t; i1++) {
    cin >> n >> k;
    for (i = 1; i <= 30; i++) {
      int poz = rand() % (n - 1) + 2;
      printf("? %d %d\n", 1, 1);
      printf("%d\n", 1);
      printf("%d\n", poz);
      fflush(stdout);
      cin >> ch;
      if (ch == "SECOND") {
        printf("! 1\n");
        break;
      }
    }
    if (i <= 30) continue;
    int sz = 1;
    while (1) {
      if (2 * sz > n) break;
      printf("? %d %d\n", sz, sz);
      for (i = 1; i <= sz; i++) printf("%d ", i);
      printf("\n");
      for (i = sz + 1; i <= 2 * sz; i++) printf("%d ", i);
      printf("\n");
      fflush(stdout);
      cin >> ch;
      if (ch == "FIRST") break;
      sz = 2 * sz;
    }
    int st = sz + 1, dr = min(2 * sz, n), last, mij;
    while (st <= dr) {
      mij = (st + dr) / 2;
      printf("? %d %d\n", mij - sz, mij - sz);
      for (i = 1; i <= mij - sz; i++) printf("%d ", i);
      printf("\n");
      for (i = sz + 1; i <= mij; i++) printf("%d ", i);
      printf("\n");
      fflush(stdout);
      cin >> ch;
      if (ch == "FIRST") {
        last = mij;
        dr = mij - 1;
      } else
        st = mij + 1;
    }
    printf("! %d\n", last);
    fflush(stdout);
  }
  return 0;
}
