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)