#include <bits/stdc++.h>
using namespace std;
const long long MOD = 1000000007;
template <class T>
ostream& operator<<(ostream& os, vector<T> v) {
  cout << "[";
  for (auto& i : v) cout << i << ", ";
  cout << "]"
       << "\n";
  return os;
}
template <typename K, typename V>
ostream& operator<<(ostream& os, pair<K, V> p) {
  os << "{" << p.first << ", " << p.second << "} ";
  return os;
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  int t;
  cin >> t;
  while (t--) {
    int n, k;
    cin >> n >> k;
    vector<int> a(n);
    set<int> s;
    for (int i = 0; i < n; ++i) {
      cin >> a[i];
      s.insert(a[i]);
    }
    if (s.size() > k) {
      cout << -1 << "\n";
      continue;
    }
    vector<int> ans;
    for (auto i : s) ans.push_back(i);
    int idx = 0;
    while (ans.size() < k) {
      ans.push_back(ans[idx]);
      idx++;
    }
    cout << n * ans.size() << "\n";
    for (int i = 0; i < n; ++i) {
      for (auto j : ans) cout << j << " ";
    }
    cout << "\n";
  }
  return 0;
}
