#include<bits/stdc++.h>
using namespace std;
#define py cout<<"YES\n"
#define pn cout<<"NO\n"
#define mod 998244353
#define ll long long
#define pb push_back
#define N 505
#define db double
ll ksm(ll x,ll y){ll ret=1;for(;y;y>>=1,x=x*x%mod)if(y&1)ret=ret*x%mod;return ret;}
vector<int>son[N<<1],c[N][N];queue<int>q;int ans,a[N<<1][N],n,ee[N][N],chs[N],cnt,vis[N<<1];
void del(int x){
	int i,j,k;
//	cout<<x<<":\n";
	for(i=1;i<=n;++i){
		j=a[x][i];
		if(c[i][j].size()){
		for(k=0;k<c[i][j].size()-1;++k)
			if(c[i][j][k]==x)
				swap(c[i][j][k],c[i][j][k+1]);
		if(c[i][j][k]==x){
			c[i][j].pop_back();
///			cout<<i<<" "<<j<<"\n";
			if(c[i][j].size()==1&&!ee[i][j]&&!vis[c[i][j][0]]){
				q.push(c[i][j][0]);vis[c[i][j][0]]=1;
			}
		}
		}
	}
}
void dfs(int now,int u){
	if(!u)chs[++cnt]=now;vis[now]=1;
	for(int i=0;i<son[now].size();++i)
		if(!vis[son[now][i]])
			dfs(son[now][i],u^1);
}
int T,i,j,k,x;
int main(){
	ios::sync_with_stdio(false);
	scanf("%d",&T);
	while(T--){
		scanf("%d",&n);
		for(i=1;i<=n+n;son[i].clear(),++i)for(j=1;j<=n;++j)scanf("%d",&a[i][j]);
		for(i=1;i<=n;++i)for(j=1;j<=n+n;++j)c[i][j].clear();memset(vis,0,sizeof(vis));
		for(i=1;i<=n;++i)for(j=1;j<=n;++j)ee[i][j]=0;
		for(i=1;i<=n;++i){
			for(j=1;j<=n+n;++j)c[i][a[j][i]].push_back(j);
		}
		for(i=1;i<=n+n;++i)
			for(j=1;j<i;++j)
				for(k=1;k<=n;++k)
					if(a[i][k]==a[j][k]){son[i].push_back(j),son[j].push_back(i);break;}
		for(i=1;i<=n;++i){
			for(j=1;j<=n;++j){
				if(c[i][j].size()==1&&!vis[c[i][j][0]]){
					q.push(c[i][j][0]);vis[c[i][j][0]]=1;
//					cout<<c[i][j][0]<<"\n";
				}
			}
		}cnt=0;
		while(q.size()){
			x=q.front();q.pop();chs[++cnt]=x;
//			cout<<x<<"\n";
//			if(cnt>6)return 0;
			for(i=1;i<=n;++i)ee[i][a[x][i]]=1;
			for(i=0;i<son[x].size();++i)if(!vis[son[x][i]])vis[son[x][i]]=1,del(son[x][i]);
			vis[x]=1;del(x);
		}ans=1;
		for(i=1;i<=n+n;++i){
			if(!vis[i]){dfs(i,0),ans=ans*2%mod;}
		}
//		for(i=1;i<=n;++i){
//			for(j=1;j<i;++j)if(chs[i]==chs[j]){
//				while(1);
//			}
//		}
//		if(cnt!=n){
//			cout<<a[12345][2222];
//		}
		cout<<ans<<"\n";
		for(i=1;i<=cnt;++i)cout<<chs[i]<<" ";cout<<"\n";
	}
}