N,D,K = map(int,raw_input().split()) s = [] for i in range(1,N+1): if sum(s)+i == D or D-sum(s)-i > i: s.append(i) while len(s) != K: for i in range(1,len(s))[::-1]: if s[i]+s[i-1] <= N and s[i]+s[i-1] not in s: s = s[:i-1]+[s[i-1]+s[i]]+s[i+1:] s = sorted(s) break else: print -1 break else: s = [0]+s+[N+1] for i in range(1,len(s)-1): if not s[i]-1 > s[i-1]: continue for j in range(i+1,len(s)-1)[::-1]: while s[i]-1 > s[i-1] and s[j]+1 < s[j+1]: s[i] -= 1; s[j] += 1 print " ".join(map(str,s[1:-1]))