#include <bits/stdc++.h>
#pragma GCC optimization("unroll-loops")
#pragma GCC optimize("Ofast")
#pragma GCC target("avx,avx2,fma")
using namespace std;
const int N = 1e4 + 7;
const int INF = 1e9 + 7;
int a[N], us[N];
int t;
void solve() {
  int n, k;
  cin >> n >> k;
  vector<int> vec;
  memset(us, 0, sizeof(us));
  int m = 0;
  for (int i = 1; i <= n; i++) {
    scanf("%d", &a[i]);
    if (!us[a[i]]) m++;
    us[a[i]] = 1;
  }
  for (int i = 1; i <= n; i++) {
    if (m < k && !us[i]) {
      m++;
      us[i] = 1;
    }
  }
  if (m == k) {
    int it = 1;
    while (it <= n) {
      for (int i = 1; i <= n; i++)
        if (us[i]) vec.push_back(i);
      it++;
    }
    if (vec.size() <= N) {
      cout << vec.size() << endl;
      for (int out : vec)
        if (out != 0) printf("%d ", out);
      puts("");
    }
  } else {
    puts("-1");
  }
}
int main() {
  cin >> t;
  while (t--) {
    solve();
  }
}
