import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class prog { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String s = br.readLine(); int n = Integer.parseInt(s); if (n == 1) { System.out.println("1"); System.out.println("1"); return; } else if (n == 2) { System.out.println("2"); System.out.println("1 2"); return; } int c = 0; int counter = 0; for (;;) { int nr = (1 << c) - 1; if (nr >= n) { counter = c; break; } c++; } System.out.println(counter); counter--; for (int i = 0; i < counter; i++) { System.out.print(String.valueOf(1 << i) + " "); } System.out.println(String.valueOf(1 << counter)); } }