import sequtils,strutils,algorithm proc getchar_unlocked():char {. importc:"getchar_unlocked",header: "" .} proc scan(): int = while true: var k = getchar_unlocked() if k < '0': break result = 10 * result + k.ord - '0'.ord let n = scan() var solved = newSeq[int]() proc solve(sum,cnt,start:int) : bool = if cnt == 1 : if sum < start : return false if sum > n : return false solved &= sum return true let fin = if cnt == 2: sum else: start+1 for i in start..fin: let ok = solve(sum-i,cnt-1,i+1) if not ok : continue solved &= i return true return false let sum = scan() let cnt = scan() let ans = solve(sum,cnt,1) if not ans : echo -1 else: echo solved.reversed().mapIt($it).join(" ")