#int(input()) #map(int, input().split()) #list(map(int, input().split())) def prime_factorize(n): a = [] while n % 2 == 0: a.append(2) n //= 2 f = 3 while f * f <= n: if n % f == 0: a.append(f) n //= f else: f += 2 if n != 1: a.append(n) return a M = int(input()) mod = 998244353 p = [0] * (10 ** 5 + 1) ans = [] t = 0 for i in range(2, 10 ** 5 + 1): nt = t c = set(prime_factorize(i)) for x in c: nt += 1 << p[x] if nt > M: continue else: ans.append(i) t = nt for x in c: p[x] += 1 if nt == M: break print(len(ans)) print(" ".join(str(_) for _ in ans))