N,M = map(int,input().split()) B = list(map(int,input().split())) B.sort() check = [True for i in range(N)] done = [True for i in range(N)] state = True out = [] for i in range(1,N): if done[i]: out.append(B[i]) t = 2 for j in range(i+1,N): if B[j] == t*B[i]: t += 1 done[j] = False elif B[j] > t*B[i]: state = False if (t+1)*B[i] <= M: state = False if state: print(len(out)) [print(i, end=" ") for i in out] else:print(-1)