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