# -*- coding:utf-8 -*- def check(l,n,d,k):#l以降で条件を達成できるか # print l,n,d,k if n - l + 1 < k: return False low = 0 high = 0 for i in xrange(k): low += l +i high += n - i # print low,high return low <= d and high >= d if __name__ == "__main__": n,d,k = map(int,raw_input().split()) ans =[] if check(1,n,d,k): for i in xrange(1,n+1): # print "KOKO" # print check(i+1,n,d-i,k-1) if check(i+1,n,d-i,k-1): # print "KO" if k == 1: ans.append(i) break else: ans.append(i) # print "KKO" d -= i k -= 1 else: print -1 exit() print ' '.join(map(str,ans))