def func(s,e,k,t): if s > t or (s+e)*(e-s+1)/2 < t or (e + e - k + 1) * k / 2 < t: return [] if k == 1: if s <= t and t <= e: return [t] else: return [] for i in range(s,e+1): l = func(i+1,e,k-1,t-i) if l != []: l.append(i) return l else: return [] n,d,k = map(int, raw_input().split()) l = func(1,n,k,d) if l == []: print -1 else: l.reverse() print ' '.join(map(str, l))