integer N
integer,allocatable,dimension(:)::ans
integer anssum
read*,N
allocate(ans(N))
ans=0
anssum=0
do i=1,N
  if(anssum>=N)exit
  ans(i)=1
  anssum=anssum+i
end do
if(anssum>N)ans(anssum-N)=0
do i=1,N
  if(ans(i)==1)print"(I0)",i
end do
end