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(1,n+1)) l[-1] = m - (n-1)*(n)//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] # print(ans, k) assert sum(ans)==m assert all((ans[i]>=0 for i in range(n))) assert len(set(ans))==n val = 0 for i in range(n): for j in range(i+1,n): if ans[i]>ans[j]: val += 1 assert val==k0 write("\n".join(map(str, ans))) sub(n,m,k)