#include <bits/stdc++.h>
using namespace std;
int main() {
  long long t;
  cin >> t;
  while (t--) {
    long long n, k;
    cin >> n >> k;
    long long arr[n];
    for (long long i = 0; i < n; i++) cin >> arr[i];
    long long x = 0;
    vector<long long> v;
    map<long long, long long> mp;
    for (long long i = 0; i < n; i++) {
      if (mp.find(arr[i]) == mp.end()) {
        v.push_back(arr[i]);
        mp[arr[i]] = 1;
        x++;
      }
    }
    if (x > k)
      cout << -1 << endl;
    else {
      long long x = 0;
      while (v.size() < k) {
        v.push_back(v[x]);
        x++;
      }
      vector<long long> w;
      long long j = 0, l = 0;
      while (j < n) {
        if (arr[j] == v[l]) {
          w.push_back(arr[j]);
          j++;
          l++;
        } else {
          w.push_back(v[l]);
          l++;
        }
        l %= v.size();
      }
      cout << w.size() << endl;
      for (long long i = 0; i < w.size(); i++) cout << w[i] << " ";
      cout << endl;
    }
  }
}
