#!/bin/python import sys from copy import copy cache_minval = {1: 0, 2: 1} cache_minword = {1: [1], 2: [1, 2]} def minval(x): if x not in cache_minval: if x % 2 == 0: cache_minval[x] = minval(x / 2) + minval((x - 2) / 2) + x - 1 else: cache_minval[x] = 2 * minval((x - 1) / 2) + x - 1 return cache_minval[x] def minword(x): if x not in cache_minword: if x % 2 == 0: low = minword(x / 2) upp = minword((x - 2) / 2) else: low = minword((x - 1) / 2) upp = minword((x - 1) / 2) maxlow = max(low) minupp = min(upp) piv = [maxlow + 1] upp = [u - minupp + maxlow + 2 for u in upp] cache_minword[x] = piv + low + upp #print x, cache_minword[x] return copy(cache_minword[x]) def maxval(x): return x * (x - 1) / 2 def wordy(n, c): if n == 1: return [1] elif n == 2: return [1, 2] elif c == minval(n): return minword(n) else: piv = [1] hig = wordy(n - 1, c - (n - 1)) minhig = min(hig) hig = [u - minhig + 2 for u in hig] return piv + hig q = int(raw_input().strip()) for a0 in xrange(q): n,c = raw_input().strip().split(' ') n,c = [int(n),int(c)] # your code goes here minv = minval(n) maxv = maxval(n) #print n, c, minv, maxv if minv <= c <= maxv: print ' '.join([str(u) for u in wordy(n, c)]) else: print -1