io.write((function (f, k) if k==0 then return 1,"\n",0,"\n" end local m,n=f(k) return m+n,"\n",(string.rep("1 ",m) .. string.rep("0 ",n)):sub(1,-2),"\n" end)(function (k) local h,a={},{} for i=0,28 do h[2^i]=i end for i=30,3,-1 do local t=i*(i-1)/2 if k%t==0 then table.insert(a,{k/t,i}) end end if #a==0 then return 2,h[k] end for _,v in ipairs(a) do if h[v[1]]~=nil and h[v[1]]+v[2]<=30 then return v[2],h[v[1]] end end end, io.stdin:read("*n")))