#include<bits/stdc++.h>
using namespace std;
const int N=1e3+10;
int T,n,a[N],ans[N>>1][N],tt;
pair<int,int> b[N];
void solve()
{
tt=0;
sort(a+1,a+n+1);
int shu=1;
a[n+1]=0;
for(int i=1;i<=n;i++)
if(a[i+1]!=a[i])
b[++tt].first=shu,b[tt].second=a[i],shu=1;
else
++shu;
int tot=n/2,num=0,h=1;
while(1)
{
sort(b+h,b+tt+1);
while(h<=tt&&b[h].first==0)
++h;
if(h==tt+1)
break;
if(h==tt)
{printf("-1\n");return;}
++num;
ans[num][0]=0;
int bj=b[tt].first;
for(int i=tt;i>h;i-=2)
{
if(b[i].first!=bj)
break;
--b[i].first;
--b[i-1].first;
ans[num][++ans[num][0]]=b[i].second;
ans[num][++ans[num][0]]=b[i-1].second;
}
}
printf("%d\n",num);
for(int i=1;i<=num;i++)
{
printf("%d ",ans[i][0]);
for(int j=1;j<=ans[i][0];j++)
printf("%d ",ans[i][j]);
printf("\n");
}
}
int main()
{
scanf("%d",&T);
while(T--)
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
if(n&1)
{printf("-1\n");continue;}
solve();
}
return 0;
}