T = int(input()) query = [] for i in range(T): n,x = map(int,input().split()) query.append([n,x]) #def kinou(N,X,ans): # if N <= 0 or X <= 0: # return 0 # saisyo = N*(N+1)//2 # hamidasi = X - saisyo # mod = (hamidasi+N-1)//N # print(saisyo,hamidasi,mod) # ans.append(N+mod) # kinou(N-1,(X-N-mod),ans) # for q in query: N = q[0] X = q[1] #N=4 #X=28 ans = [] if N*(N+1)//2 > X: #10>28 print(-1) continue saisyo = N*(N+1)//2 #[4,3,2,1]で10 hamidasi = X - saisyo #18 saidai = N + (hamidasi+N-1)//N #[9,8,7,6]で30 #[8,7,6,5]で26 #最大の数が8だと足りない #saidai=9になるように調整 # print(saisyo,hamidasi,saidai) v = N*(2*saidai-N+1)//2 #print(v,"v") ans1 = list(reversed(range(saidai-N+1,saidai+1))) ans2 = list(reversed(range(saidai-N,saidai))) #print(ans1,ans2) #一旦ans1 = [9,8,7,6] if v != X: ans = ans1[:-v+X]+ans2[-(v-X):] else: ans = ans1 print(*ans)