#include <bits/stdc++.h>
#pragma GCC optimize("Ofast")
#pragma GCC target("sse,sse2,sse3,sse3,sse4,popcnt,abm,mmx")
using namespace std;
const int MX = 1e9 + 1;
const int Imp = -1;
const int N = 1e6 + 5;
const int M = 1e6 + 5;
const long long INF = 1e18 + 1;
int main() {
  ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
  int q;
  cin >> q;
  while (q--) {
    int n;
    cin >> n;
    int a[n * 2];
    set<int> st;
    bool ok = 1;
    for (int i = 1; i <= 2 * n; ++i) st.insert(i);
    for (int i = 0; i < n; ++i) {
      int x;
      cin >> x;
      if (x == n * 2) {
        ok = 0;
      }
      a[i * 2] = x;
      a[i * 2 + 1] = -1;
      st.erase(x);
    }
    vector<int> v;
    for (int i = 0; i < n * 2; ++i) {
      if (a[i] == -1) {
        if (st.lower_bound(a[i - 1]) == st.end()) {
          ok = 0;
          break;
        }
        int x = *st.lower_bound(a[i - 1]);
        v.push_back(x);
        st.erase(x);
      } else {
        v.push_back(a[i]);
      }
    }
    if (!ok) {
      cout << "-1\n";
      continue;
    } else {
      for (int i = 0; i < 2 * n; ++i) {
        cout << v[i] << ' ';
      }
      cout << '\n';
    }
  }
}
