N, M = map(int, input().split()) A = list(map(int, input().split())) A.sort() dic = dict(zip(A, range(N))) vstd = [False] * N if A[0] != 0: print(-1) exit() AS = set(A) B = set() for a in A[1:]: if vstd[dic[a]]: continue for i in range(2, M // a + 1): if i * a in AS: vstd[dic[i * a]] = True else: print(-1) exit() B.add(a) if len(B) == 0: print(-1) else: print(len(B)) print(*sorted(list(B)))