#include <bits/stdc++.h>
using namespace std;
typedef vector<long long> vi;
typedef vector<vi> vvi;
typedef vector<pair<long long, long long>> ii;
typedef vector<ii> vii;
int main() {
  long long t;
  cin >> t;
  while (t--) {
    long long n, k, tmp;
    cin >> n >> k;
    set<long long> s;
    vi ans;
    for (int i = 0; i < n; i++) {
      cin >> tmp;
      if (!(s.find(tmp) != s.end())) {
        s.insert(tmp);
        ans.push_back(tmp);
      }
    }
    if (s.size() > k) {
      cout << "-1\n";
      continue;
    }
    long long len = ans.size();
    while (len < k) {
      ans.push_back(1);
      len++;
    }
    for (int i = 0; i < n - 1; i++) {
      for (int j = 0; j < k; j++) {
        ans.push_back(ans[j]);
      }
    }
    cout << n * k << "\n";
    for (auto i : ans) cout << i << " ";
    cout << "\n";
  }
  return 0;
}
