#include <bits/stdc++.h>
using namespace std;
int a[105];
int b[100005];
bool hasNum[105];
int main() {
  std::ios::sync_with_stdio(false);
  int n;
  scanf("%d", &n);
  while (n--) {
    int m;
    int k;
    scanf("%d%d", &m, &k);
    memset(hasNum, 0, sizeof(hasNum));
    int num = 0;
    int last = -1;
    for (int i = 0; i < m; i++) {
      scanf("%d", &a[i]);
      if (!hasNum[a[i]]) {
        last = max(last, a[i]);
        hasNum[a[i]] = true;
        num++;
      }
    }
    if (num > k) {
      printf("-1\n");
      continue;
    } else if (num < k) {
      for (int i = 1; i <= m; i++) {
        if (!hasNum[i]) {
          hasNum[i] = true;
          last = max(last, i);
          num++;
          if (num == k) break;
        }
      }
    }
    printf("%d\n", num * m);
    for (int i = 0; i < m; i++) {
      for (int j = 1; j <= m; j++) {
        if (hasNum[j]) {
          printf("%d%c", j, (i == m - 1 && j == last) ? '\n' : ' ');
        }
      }
    }
  }
}
