t = int(input())
for _ in range(t):
n, k = map(int, input().split())
ans = []
current_pow = 0
summ = 0
while True:
if (summ + 2**current_pow) < k:
summ += 2**current_pow
ans.append(2**current_pow)
current_pow += 1
else:
break
if (k-summ) > 0:
ans.append(k-summ)
if len(ans) > n:
while len(ans) > n:
a = ans.pop(0)
b = ans.pop(0)
ans = [a+b] + ans
if len(ans) < n:
while len(ans) < n:
ans.append(0)
print(' '.join(map(str, ans)))
1666F - Fancy Stack | 1354A - Alarm Clock |
1543B - Customising the Track | 1337A - Ichihime and Triangle |
1366A - Shovels and Swords | 919A - Supermarket |
630C - Lucky Numbers | 1208B - Uniqueness |
1384A - Common Prefixes | 371A - K-Periodic Array |
1542A - Odd Set | 1567B - MEXor Mixup |
669A - Little Artem and Presents | 691B - s-palindrome |
851A - Arpa and a research in Mexican wave | 811A - Vladik and Courtesy |
1006B - Polycarp's Practice | 1422A - Fence |
21D - Traveling Graph | 1559B - Mocha and Red and Blue |
1579C - Ticks | 268B - Buttons |
898A - Rounding | 1372B - Omkar and Last Class of Math |
1025D - Recovering BST | 439A - Devu the Singer and Churu the Joker |
1323A - Even Subset Sum Problem | 1095A - Repeating Cipher |
630F - Selection of Personnel | 630K - Indivisibility |