#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  long long o;
  cin >> o;
  for (; o > 0; o--) {
    long long n, k = 1, x;
    cin >> n;
    long long v[n];
    vector<long long> used(n, 0);
    set<long long> a;
    for (int i = 1; i <= n; i++) {
      a.insert(i);
    }
    for (int i = 0; i < n; i++) {
      cin >> v[i];
      if (k) {
        if (v[i] <= i) {
          k = 0;
        } else if (used[v[i] - 1] == 1) {
          x = *a.begin();
          a.erase(x);
          v[i] = x;
          used[x - 1] = 1;
        } else {
          a.erase(v[i]);
          used[v[i] - 1] = 1;
        }
      }
    }
    if (k) {
      for (int i : v) {
        cout << i << " ";
      }
      cout << "\n";
    } else {
      cout << -1 << "\n";
    }
  }
}
