# -*- coding: utf-8 -*- """ No.115 遠足のおやつ https://yukicoder.me/problems/no/115 """ import sys from sys import stdin input = stdin.readline def solve(N, D, K): total_min = (1 + K) * K // 2 total_max = (N-K+1 + N) * K // 2 if D < total_min: return [-1] if D > total_max: return [-1] res = list(range(1, K+1)) max_n = N last_r = K - 1 diff = D - sum(res) while (diff != 0): if diff <= (max_n - res[last_r]): res[last_r] += diff break else: res[last_r] = max_n max_n -= 1 last_r -= 1 diff = D - sum(res) return res def main(args): N, D, K = map(int, input().split()) ans = solve(N, D, K) print(*ans) if __name__ == '__main__': main(sys.argv[1:])