#include <bits/stdc++.h>
int main() {
  int tests;
  scanf("%d", &tests);
  int lengthArray, lengthSubarray;
  while (tests--) {
    int *differentArray, *finalArray;
    differentArray = (int *)calloc(101, sizeof(int));
    finalArray = (int *)calloc(100, sizeof(int));
    int count = 0;
    scanf("%d %d", &lengthArray, &lengthSubarray);
    for (int i = 0; i < lengthArray; i++) {
      int current;
      scanf("%d", &current);
      differentArray[current] = current;
    }
    for (int i = 1; i <= 100; i++) {
      if (differentArray[i] != 0) {
        finalArray[count] = differentArray[i];
        count++;
      }
    }
    if (count > lengthSubarray) {
      printf("-1");
    } else {
      printf("%d\n", lengthArray * lengthSubarray);
      while (lengthArray--) {
        for (int i = 0; i < lengthSubarray; i++) {
          printf("%d ", finalArray[i % count]);
        }
      }
    }
    printf("\n");
    free(differentArray);
    free(finalArray);
  }
  return 0;
}
