#include <bits/stdc++.h>
using namespace std;
int n, m, a[200005], b[200005];
set<int> st;
int main() {
  int t;
  scanf("%d", &t);
  while (t--) {
    int k;
    scanf("%d", &n);
    scanf("%d", &k);
    st.clear();
    for (int i = 0; i < n; i++) {
      scanf("%d", &a[i]);
      st.insert(a[i]);
    }
    if (st.size() > k) {
      printf("-1\n");
      continue;
    }
    int x = n;
    while (st.size() < k) {
      st.insert(x);
      x--;
    }
    m = st.size();
    int sz = 0;
    while (sz < 10000) {
      for (auto x : st) {
        b[sz++] = x;
        if (sz == 10000) break;
      }
      if (sz == 10000) break;
    }
    printf("%d\n", sz);
    for (int i = 0; i < sz; i++) {
      printf("%d ", b[i]);
    }
    printf("\n");
  }
}
