#include <bits/stdc++.h>
using namespace std;
void solve(long long cno) {
  long long n, k, i, j, l;
  cin >> n >> k;
  long long arr[n];
  map<long long, long long> make_pair;
  set<long long> st;
  long long maxfreq = -1;
  long long min = 1000000007;
  long long max = -1;
  for (i = 0; i < n; i++) {
    cin >> arr[i];
    if (max < arr[i]) max = arr[i];
    if (min > arr[i]) min = arr[i];
    make_pair[arr[i]]++;
    if (make_pair[arr[i]] > maxfreq) maxfreq = make_pair[arr[i]];
    st.insert(arr[i]);
  }
  if (st.size() > k) {
    cout << -1 << '\n';
  } else {
    if (max == min) {
      cout << n << '\n';
      for (i = 0; i < n; i++) {
        cout << arr[i] << " ";
      }
      cout << '\n';
      return;
    }
    long long oldn = n;
    n = n * n;
    long long ans[n];
    long long ptr = 0;
    for (i = 1; i <= oldn; i++) {
      if (st.size() == k)
        break;
      else
        st.insert(i);
    }
    for (auto x : st) ans[ptr++] = x;
    cout << n << '\n';
    for (i = 0; i < n; i++) {
      cout << ans[i % ptr] << " ";
    }
    cout << '\n';
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  int TESTS = 1;
  cin >> TESTS;
  long long i = 1;
  while (TESTS--) {
    solve(i);
    i++;
  }
  return 0;
}
