n, d, k = map(int, input().split()) dp = [[None] * (d + 1) for _ in range(k + 1)] dp[0][0] = (0, ) for x in range(k): for y in range(d): last = dp[x][y] if last is None: continue for z in range(last[-1] + 1, n + 1): if y + z <= d: if dp[x + 1][y + z] is None: dp[x + 1][y + z] = (*last, z) else: dp[x + 1][y + z] = min(dp[x + 1][y + z], (*last, z)) ans = dp[k][d] if ans is None: print(-1) else: print(*ans[1:])