var a:array[0..101] of longint; i,j,k,l,n,m:longint; begin read(n); k:=1; a[k]:=1; while a[k]<=n do begin inc(k); a[k]:=a[k-1]*2; end; writeln(k-1); for i:=1 to k-1 do write(a[i],' '); end.