#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int MOD = 1e9 + 7;
void solve(){
int n;
cin >> n;
vector<int> b(n / 2), d(n + 1);
bool done = false;
set<int> s;
for(int i = 1; i <= n; i++)s.insert(i);
for(int i = 0; i < n / 2; i++){
cin >> b[i];
d[b[i]]++;
if(d[b[i]] > 1)done = true;
s.erase(b[i]);
}
if(done){
cout << -1 << "\n";
return;
}
vector<int> ans;
for(int i = n / 2 - 1; i >= 0; i--){
if(*(s.begin()) > b[i]){
cout << -1 << "\n";
return;
}
auto g = s.lower_bound(b[i]);
g--;
ans.push_back(b[i]);
ans.push_back(*g);
s.erase(*g);
}
reverse(ans.begin(), ans.end());
for(auto x: ans)cout << x <<" ";
cout << "\n";
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int t = 1;
cin >> t;
for(int i = 1; i <= t; i++){
solve();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY29uc3QgaW50IE1PRCA9IDFlOSArIDc7Cgp2b2lkIHNvbHZlKCl7CglpbnQgbjsKCWNpbiA+PiBuOwoJIAoJdmVjdG9yPGludD4gYihuIC8gMiksIGQobiArIDEpOwoJYm9vbCBkb25lID0gZmFsc2U7CglzZXQ8aW50PiBzOwoJZm9yKGludCBpID0gMTsgaSA8PSBuOyBpKyspcy5pbnNlcnQoaSk7Cglmb3IoaW50IGkgPSAwOyBpIDwgbiAvIDI7IGkrKyl7CgkJY2luID4+IGJbaV07CgkJZFtiW2ldXSsrOwoJCWlmKGRbYltpXV0gPiAxKWRvbmUgPSB0cnVlOwoJCXMuZXJhc2UoYltpXSk7Cgl9CgkKCWlmKGRvbmUpewoJCWNvdXQgPDwgLTEgPDwgIlxuIjsKCQlyZXR1cm47Cgl9Cgl2ZWN0b3I8aW50PiBhbnM7CgkKCWZvcihpbnQgaSA9IG4gLyAyIC0gMTsgaSA+PSAwOyBpLS0pewoJCWlmKCoocy5iZWdpbigpKSA+IGJbaV0pewoJCQljb3V0IDw8IC0xIDw8ICJcbiI7CgkJCXJldHVybjsKCQl9CgkJYXV0byBnID0gcy5sb3dlcl9ib3VuZChiW2ldKTsKCQlnLS07CgkJYW5zLnB1c2hfYmFjayhiW2ldKTsKCQlhbnMucHVzaF9iYWNrKCpnKTsKCQlzLmVyYXNlKCpnKTsKCX0KCXJldmVyc2UoYW5zLmJlZ2luKCksIGFucy5lbmQoKSk7Cglmb3IoYXV0byB4OiBhbnMpY291dCA8PCB4IDw8IiAiOwoJY291dCA8PCAiXG4iOwp9CgppbnQgbWFpbigpewoJaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CgljaW4udGllKG51bGxwdHIpOwoJCglpbnQgdCA9IDE7CgljaW4gPj4gdDsKCQoJZm9yKGludCBpID0gMTsgaSA8PSB0OyBpKyspewoJCXNvbHZlKCk7Cgl9CglyZXR1cm4gMDsKfQ==