#include <bits/stdc++.h>
using namespace std;
long long gcd(long long a, long long b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
signed main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  long long t = 1;
  cin >> t;
  while (t--) {
    long long n, k;
    cin >> n >> k;
    set<long long, greater<long long> > s;
    long long a[n];
    for (long long i = 0; i < n; i++) {
      cin >> a[i];
      s.insert(a[i]);
    }
    if (s.size() > k) {
      cout << "-1" << '\n';
      continue;
    }
    vector<long long> v, ans;
    for (auto it = s.begin(); it != s.end(); it++) {
      v.push_back(*it);
      ans.push_back(*it);
    }
    while (ans.size() < k) {
      for (long long i = 0; i < v.size() && ans.size() < k; i++) {
        ans.push_back(v[i]);
      }
    }
    cout << k * n << '\n';
    for (long long i = 0; i < n; i++) {
      for (long long i = 0; i < ans.size(); i++) cout << ans[i] << " ";
    }
    cout << '\n';
  }
}
