import sys input = lambda : sys.stdin.readline().rstrip() sys.setrecursionlimit(2*10**5+10) write = lambda x: sys.stdout.write(x+"\n") debug = lambda x: sys.stderr.write(x+"\n") writef = lambda x: print("{:.12f}".format(x)) n,m,k = list(map(int, input().split())) def sub(n,m,k): k0 = k l = list(range(n)) l[-1] = m - (n-1)*(n-2)//2 l.sort() # print(l) ans = [-1]*n done = [0]*n for v in range(n, 0, -1): i = n - v if k>v-1: k -= v-1 ans[v-1] = l[i] done[i] = 1 else: ans[k] = l[i] done[i] = 1 break # j = 0 # for i in range(n): # while j=0: # j += 1 # if not done[i]: # ans[j] = l[i] # assert sum(ans)==m # assert all((ans[i]>=0 for i in range(n))) # val = 0 # for i in range(n): # for j in range(i+1,n): # if ans[i]>ans[j]: # val += 1 # print(val, val) # assert val==k0 write("\n".join(map(str, ans))) sub(n,m,k)