n, d, k = [ int(v) for v in input().split(" ") ] moneylist = [i+1 for i in range(n)] def uppersum(inlist,a): return sum(inlist[-a:]) def lowersum(inlist,a): return sum(inlist[:a]) ans = -1 anslist = [] if lowersum(moneylist,k) <= d <= uppersum(moneylist,k): lowest = 1 for i in range(1,k): for j in range(lowest,n): if d - j <= uppersum(moneylist,k-i): lowest = j + 1 moneylist = moneylist[lowest+1:] anslist.append(j) d = d - j break anslist.append(d) ans = " ".join([ str(anslist[i]) for i in range(len(anslist)) ]) print(ans)