local bls, brs = bit.lshift, bit.rshift
local n = io.read("*n")
local t = {}

local lastval = 10000
while 0 < n do
  local min, max = 0, lastval
  while 1 < max - min do
    local mid = brs(min + max, 1)
    if n <= brs(mid * (mid + 1), 1) then
      max = mid
    else
      min = mid
    end
  end
  lastval = max
  table.insert(t, max)
  n = n - max
end
print(table.concat(t, "\n"))
