#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  int t;
  cin >> t;
  while (t--) {
    long long int x, y, flag = 1, left, n, i;
    cin >> n;
    set<int> index;
    vector<int> vec;
    for (i = 1; i <= n; i++) index.insert(i);
    for (i = 0; i < n; i++) {
      cin >> x;
      if (index.count(x)) {
        vec.push_back(x);
        index.erase(x);
      } else if (*index.begin() <= x) {
        vec.push_back(*index.begin());
        index.erase(index.begin());
      } else
        flag = 0;
    }
    if (flag == 0)
      cout << -1;
    else
      for (i = 0; i < n; i++) cout << vec[i] << " ";
    cout << endl;
  }
  return 0;
}
