#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);
vector<int> c(n + 1);
bool done = false;
for(int i = 0; i < n / 2; i++){
int x;
cin >> x;
c[x]++;
if(c[x] > 1){
done = true;
}
b[i] = x;
}
if(done){
cout << -1 << "\n";
return;
}
vector<int> d;
for(int i = 1; i <= n; i++)if(!c[i])d.push_back(i);
vector<int> ans(n);
set<int> allow;
int idx = 0;
for(int i = 0; i < n; i += 2){
ans[i + 1] = b[idx];
if(d[idx] < b[idx]){
allow.insert(d[idx]);
idx++;
}else{
if(allow.size() == 0 || *(allow.begin()) > b[idx]){
cout << -1 << "\n";
return;
}
auto y = allow.lower_bound(b[idx]);
y--;
ans[i] = *y;
allow.erase(y);
allow.insert(d[idx]);
idx++;
}
}
for(int i = 0; i < n; i += 2){
if(ans[i] == 0){
ans[i] = *(allow.begin());
allow.erase(ans[i]);
}
}
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+PiBuOwoJdmVjdG9yPGludD4gYihuIC8gMik7Cgl2ZWN0b3I8aW50PiBjKG4gKyAxKTsKCWJvb2wgZG9uZSA9IGZhbHNlOwoJZm9yKGludCBpID0gMDsgaSA8IG4gLyAyOyBpKyspewoJCWludCB4OwoJCWNpbiA+PiB4OwoJCWNbeF0rKzsKCQlpZihjW3hdID4gMSl7CgkJCWRvbmUgPSB0cnVlOwoJCX0KCQliW2ldID0geDsKCX0KCWlmKGRvbmUpewoJCWNvdXQgPDwgLTEgPDwgIlxuIjsKCQlyZXR1cm47Cgl9Cgl2ZWN0b3I8aW50PiBkOwoJZm9yKGludCBpID0gMTsgaSA8PSBuOyBpKyspaWYoIWNbaV0pZC5wdXNoX2JhY2soaSk7CgkKCQoJdmVjdG9yPGludD4gYW5zKG4pOwoJc2V0PGludD4gYWxsb3c7CglpbnQgaWR4ID0gMDsKCWZvcihpbnQgaSA9IDA7IGkgPCBuOyBpICs9IDIpewoJCWFuc1tpICsgMV0gPSBiW2lkeF07CgkJaWYoZFtpZHhdIDwgYltpZHhdKXsKCQkJYWxsb3cuaW5zZXJ0KGRbaWR4XSk7CgkJCWlkeCsrOwoJCX1lbHNlewoJCQlpZihhbGxvdy5zaXplKCkgPT0gMCB8fCAqKGFsbG93LmJlZ2luKCkpID4gYltpZHhdKXsKCQkJCgkJCQljb3V0IDw8IC0xIDw8ICJcbiI7CgkJCQlyZXR1cm47CgkJCX0KCQkJYXV0byB5ID0gYWxsb3cubG93ZXJfYm91bmQoYltpZHhdKTsKCQkJeS0tOwoJCQlhbnNbaV0gPSAqeTsKCQkJYWxsb3cuZXJhc2UoeSk7CgkJCWFsbG93Lmluc2VydChkW2lkeF0pOwoJCQlpZHgrKzsKCQl9Cgl9Cglmb3IoaW50IGkgPSAwOyBpIDwgbjsgaSArPSAyKXsKCQlpZihhbnNbaV0gPT0gMCl7CgkJCWFuc1tpXSA9ICooYWxsb3cuYmVnaW4oKSk7CgkJCWFsbG93LmVyYXNlKGFuc1tpXSk7CgkJfQoJfQoJZm9yKGF1dG8geDogYW5zKWNvdXQgPDwgeDw8ICIgIjsKCWNvdXQgPDwgIlxuIjsKCQp9CgppbnQgbWFpbigpewoJaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CgljaW4udGllKG51bGxwdHIpOwoJCglpbnQgdCA9IDE7CgljaW4gPj4gdDsKCQoJZm9yKGludCBpID0gMTsgaSA8PSB0OyBpKyspewoJCXNvbHZlKCk7Cgl9CglyZXR1cm4gMDsKfQ==