N, M = map(int, input().split()) A = list(map(int, input().split())) A.sort() stA = set(A) stA.discard(0) if A[1] == 1: if M+1 == N: print(1) print(1) exit() else: print(-1) exit() ansset = set() ans = [] for p in A: if p not in ansset and p != 0: ans.append(p) for i in range(p, M+1, p): ansset.add(i) if ansset == stA: print(len(ans)) print(*ans) else: print(-1)