#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
int main()
{
int t,n,tot,flag,k,i,all_1,vote[52],alloc[52],cast[52];
scanf("%d",&t);
while(t--)
{
memset(alloc,0,sizeof(alloc));
memset(cast,0,sizeof(cast));
all_1=1;
flag=tot=0;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&vote[i]);
tot+=(vote[i]);
if(vote[i]!=0)
alloc[i]=1;
if(vote[i]==n)
flag=1;
if(vote[i]!=1)
all_1=0;
}
if(tot<n || tot>n || flag==1) printf("-1\n");
else if(n==2) printf("2 1\n");
else if(all_1==1)
{
int j=n-1;
for(i=0;i<n;i++)
{
printf("%d ",j);
j=(j+1)%(n+1);
if(j==0) j=1;
}
printf("\n");
}
else
{
/*for(i=0;i<n;i++)
{
for(k=(i+1)%n;k!=i;k=(k+1)%n)
{
if(k!=i && vote[k]>0)
{
vote[k]--;
break;
}
}
printf("%d ",k+1);
}*/
for(i=0;i<n;i++)
{
if(alloc[i]==1)
{
for(k=(i+1)%n;k!=i;k=(k+1)%n)
{
if(k!=i && vote[k]>0)
{
vote[k]--;
break;
}
}
cast[i]=k+1;
//cout<<cast[i]<<" "<<i<<"\n";
}
}
//for(i=0;i<n;i++)
//printf("%d ",cast[i]);
//cout<<"\n";
for(i=0;i<n;i++)
{
if(cast[i]==0)
{
for(k=(i+1)%n;k!=i;k=(k+1)%n)
{
if(k!=i && vote[k]>0)
{
vote[k]--;
cast[i]=k+1;
break;
}
}
}
}
for(i=0;i<n;i++)
printf("%d ",cast[i]);
printf("\n");
}
}
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPHN0ZGlvLmg+CiNpbmNsdWRlPHN0cmluZy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKCmludCBtYWluKCkKewoJaW50IHQsbix0b3QsZmxhZyxrLGksYWxsXzEsdm90ZVs1Ml0sYWxsb2NbNTJdLGNhc3RbNTJdOwoJc2NhbmYoIiVkIiwmdCk7Cgl3aGlsZSh0LS0pCgl7CgkJbWVtc2V0KGFsbG9jLDAsc2l6ZW9mKGFsbG9jKSk7CgkJbWVtc2V0KGNhc3QsMCxzaXplb2YoY2FzdCkpOwoJCWFsbF8xPTE7CgkJZmxhZz10b3Q9MDsKCQlzY2FuZigiJWQiLCZuKTsKCQlmb3IoaT0wO2k8bjtpKyspCgkJewoJCQlzY2FuZigiJWQiLCZ2b3RlW2ldKTsKCQkJdG90Kz0odm90ZVtpXSk7CgkJCWlmKHZvdGVbaV0hPTApCgkJCWFsbG9jW2ldPTE7CgkJCWlmKHZvdGVbaV09PW4pCgkJCWZsYWc9MTsKCQkJaWYodm90ZVtpXSE9MSkKCQkJYWxsXzE9MDsKCQl9CgkJaWYodG90PG4gfHwgdG90Pm4gfHwgZmxhZz09MSkgcHJpbnRmKCItMVxuIik7CgkJZWxzZSBpZihuPT0yKSBwcmludGYoIjIgMVxuIik7CgkJZWxzZSBpZihhbGxfMT09MSkKCQl7CgkJCWludCBqPW4tMTsKCQkJZm9yKGk9MDtpPG47aSsrKQoJCQl7CgkJCQlwcmludGYoIiVkICIsaik7CgkJCQlqPShqKzEpJShuKzEpOwoJCQkJaWYoaj09MCkgaj0xOwkJCgkJCX0KCQkJCgkJCXByaW50ZigiXG4iKTsKCQl9CgkJZWxzZQoJCXsKCQkJLypmb3IoaT0wO2k8bjtpKyspCgkJCXsKCQkJCWZvcihrPShpKzEpJW47ayE9aTtrPShrKzEpJW4pCgkJCQl7CgkJCQkJaWYoayE9aSAmJiB2b3RlW2tdPjApCgkJCQkJewoJCQkJCQl2b3RlW2tdLS07CgkJCQkJCWJyZWFrOwoJCQkJCX0KCQkJCX0KCQkJCXByaW50ZigiJWQgIixrKzEpOwoJCQl9Ki8KCQkJZm9yKGk9MDtpPG47aSsrKQoJCQl7CgkJCQlpZihhbGxvY1tpXT09MSkKCQkJCXsKCQkJCQlmb3Ioaz0oaSsxKSVuO2shPWk7az0oaysxKSVuKQoJCQkJCXsKCQkJCQkJaWYoayE9aSAmJiB2b3RlW2tdPjApCgkJCQkJCXsKCQkJCQkJCXZvdGVba10tLTsKCQkJCQkJCWJyZWFrOwoJCQkJCQl9CgkJCQkJfQkJCQkJCgkJCQkJY2FzdFtpXT1rKzE7CgkJCQkJLy9jb3V0PDxjYXN0W2ldPDwiICI8PGk8PCJcbiI7CgkJCQl9CgkJCX0KCQkJLy9mb3IoaT0wO2k8bjtpKyspCgkJCS8vcHJpbnRmKCIlZCAiLGNhc3RbaV0pOwoJCQkvL2NvdXQ8PCJcbiI7CgkJCWZvcihpPTA7aTxuO2krKykKCQkJewoJCQkJaWYoY2FzdFtpXT09MCkKCQkJCXsKCQkJCQlmb3Ioaz0oaSsxKSVuO2shPWk7az0oaysxKSVuKQoJCQkJCXsKCQkJCQkJaWYoayE9aSAmJiB2b3RlW2tdPjApCgkJCQkJCXsKCQkJCQkJCXZvdGVba10tLTsKCQkJCQkJCWNhc3RbaV09aysxOwoJCQkJCQkJYnJlYWs7CgkJCQkJCX0KCQkJCQl9CgkJCQl9CgkJCX0KCQkJZm9yKGk9MDtpPG47aSsrKQoJCQlwcmludGYoIiVkICIsY2FzdFtpXSk7CgkJCgkJCXByaW50ZigiXG4iKTsKCQl9Cgl9CglyZXR1cm4gMDsKfQo=