# Uses python3 import sys def getOptimalSummands(n): summands = [] if n < 3: summands.append(n) return summands runningSum = 0 for i in range(1, n + 1): runningSum = runningSum + i summands.append(i) if runningSum == n: break if runningSum > n: del summands[-1] summands[-1] = summands[-1] + n - runningSum + i break return summands if __name__ == '__main__': input = sys.stdin.read() n = int(input) summands = getOptimalSummands(n) print(len(summands)) for x in summands: print(x, end=' ')