import sys



sys.setrecursionlimit(10 ** 5 + 10)





def input(): return sys.stdin.readline().strip()





def resolve():

    N = int(eval(input()))



    def main(N):

        i = 1

        ans = 0



        while True:

            ans += i

            if ans >= N:

                print(i)

                if N - i != 0:

                    if N-i<i:

                        print((N - i))

                        return True

                    else:

                        main(N-i)

                        return True

                else:

                    return True

            else:

                i += 1



    main(N)





resolve()
import sys

sys.setrecursionlimit(10 ** 5 + 10)

def input(): return sys.stdin.readline().strip()



def resolve():

    n=int(eval(input()))



    ans=0

    i=0

    while ans<n:

        i+=1

        ans+=i



    print(i)

    rem=n-i

    i-=1

    if rem!=0:

        while i>0:



            if rem-i>=0:

                print(i)

                rem -=i

                i-=1

            else:

                i-=1





resolve()
import sys

sys.setrecursionlimit(10**5 + 10)


def input():
    return sys.stdin.readline().strip()


def resolve():
    N = int(eval(input()))

    def main(N):
        i = 1
        ans = 0
        while True:
            ans += i
            if ans >= N:
                print(i)
                if N - i != 0:
                    if N - i < i:
                        print((N - i))
                        return True
                    else:
                        main(N - i)
                        return True
                else:
                    return True
            else:
                i += 1

    main(N)


resolve()

import sys

sys.setrecursionlimit(10**5 + 10)


def input():
    return sys.stdin.readline().strip()


def resolve():
    n = int(eval(input()))
    ans = 0
    i = 0
    while ans < n:
        i += 1
        ans += i
    print(i)
    rem = n - i
    i -= 1
    if rem != 0:
        while i > 0:
            if rem - i >= 0:
                print(i)
                rem -= i
                i -= 1
            else:
                i -= 1


resolve()

-    N = int(eval(input())) - -    def main(N): -        i = 1 -        ans = 0 -        while True: -            ans += i -            if ans >= N: +    n = int(eval(input())) +    ans = 0 +    i = 0 +    while ans < n: +        i += 1 +        ans += i +    print(i) +    rem = n - i +    i -= 1 +    if rem != 0: +        while i > 0: +            if rem - i >= 0: -                if N - i != 0: -                    if N - i < i: -                        print((N - i)) -                        return True -                    else: -                        main(N - i) -                        return True -                else: -                    return True +                rem -= i +                i -= 1 -                i += 1 - -    main(N) +                i -= 1