#include <iostream>
#include <set>
#include <algorithm>
#define _int long long
using namespace std;
_int t,n,x[100005],q[100005];
bool f;
set<_int> a;
int main(){
cin>>t;
while (t--){
cin>>n;f=0;
a.clear();
for (_int i=1;i<=n;i++){
a.insert(i);
}
for (_int i=1;i<=n/2;i++){
cin>>x[i];
if (a.find(x[i])==a.end()){
f=1;break;
}
a.erase(x[i]);
}
if (f==1){
cout<<"-1"<<endl;
continue;
}
for (_int i=n/2;i>=1;i--){
if (a.upper_bound(x[i])==a.begin()){
f=1;break;
}
a.upper_bound(x[i])--;
q[i]=*a.upper_bound(x[i]);
a.erase(q[i]);
}
if (f==1){
cout<<"-1"<<endl;
continue;
}
for (_int i=1;i<=n/2;i++){
cout<<q[i]<<" "<<x[i]<<" ";
}
if (t!=0) cout<<endl;
}
}