import sys def solve(): it = iter(sys.stdin.buffer.read().split()) T = int(next(it)) out = [] for _ in range(T): N = int(next(it)) K = int(next(it)) k0 = K - 1 # 0-index per_a = 72 * N # 9 * (8N) a_idx = k0 // per_a # 0..8 a = a_idx + 1 k0 %= per_a per_ab = 8 * N b_idx = k0 // per_ab # 0..8 r = k0 % per_ab # rank inside fixed (a,b) # b: the b_idx-th digit in 0..9 excluding a cnt = 0 b = -1 for d in range(10): if d == a: continue if cnt == b_idx: b = d break cnt += 1 # digits excluding a and b, split by b low = [] high = [] for d in range(10): if d == a or d == b: continue if d < b: low.append(d) elif d > b: high.append(d) L = len(low) H = len(high) # = 8 - L if L > 0 and r < L * N: t = r // L # 0..N-1 c = low[r % L] else: r2 = r - L * N # if L==0, this is r # H > 0 always holds t = (N - 1) - (r2 // H) # descending in t c = high[r2 % H] length = t + 3 out.append(f"{length} {a} {b} {c}") sys.stdout.write("\n".join(out)) if __name__ == "__main__": solve()