def min(a,b); a < b ? a : b; end N, D, K = gets.split.map(&:to_i) ANS = Array.new(K){|i| K - i } K.times.inject(D) do |d, i| r = K - i sum = r * (r + 1) / 2 if sum > d ANS.clear ANS << -1 break else ANS[i] += min(d - sum, N - K) d - ANS[i] end end puts ANS.reverse.join(' ')