#include<bits/stdc++.h>
using namespace std;
int t,n;
vector<int> v;
int main()
{
	scanf("%d",&t);
	do
	{
		--t;
		int x;
		scanf("%d",&n);
		for(int i=2;i<=n;i++)
		{
			printf("? %d 1\n",i-1);
			for(int j=1;j<i;j++) printf("%d ",j);
			printf("\n%d\n",i);
			fflush(stdout);
			int bo;
			scanf("%d",&bo);
			if(bo!=0)
			{
				x=i;
				break;
			}
		}
		for(int i=x+1;i<=n;i++)
		{
			printf("? 1 1\n%d\n%d\n",x,i);
			fflush(stdout);
			int bo;
			scanf("%d",&bo);
			if(bo==0) v.push_back(i);
		}
		int l=0,r=x-1,mid=(l+r)>>1;
		while(l+1<r)
		{
			printf("? %d 1\n",mid);
			for(int j=1;j<=mid;j++) printf("%d ",j);
			printf("\n%d\n",x);
			fflush(stdout);
			int bo;
			scanf("%d",&bo);
			if(bo!=0) r=mid; else l=mid;
			mid=(l+r)>>1;
		}
		for(int i=1;i<r;i++) v.push_back(i);
		for(int i=r+1;i<x;i++) v.push_back(i);
		printf("! %d ",v.size());
		for(int i=0;i<v.size();i++) printf("%d ",v[i]);
		fflush(stdout);
		v.clear();
	}while(t);
	return 0;
}