def primes(n): is_prime = [True] * (n + 1) is_prime[0] = False is_prime[1] = False for i in range(2, int(n**0.5) + 1): if not is_prime[i]: continue for j in range(i * 2, n + 1, i): is_prime[j] = False return [i for i in range(n + 1) if is_prime[i]] n = int(input()) if n == 0: print(-1) exit(0) ans = [] p = primes(1000000) p.reverse() idx = 0 tmp = 0 while n > 1: x = -1 while idx < len(p) and len(bin(p[idx] + 1)) == len(bin(n)): x = p[idx] idx += 1 if x != -1: ans.append(x) n ^= x + 1 else: idx += 1 if n == 1: ans.append(1) print(len(ans)) print(*ans)