## https://yukicoder.me/problems/no/1200 import math def solve(X, Y): z = X + Y sqrt_z = int(math.sqrt(z)) divisors = [] for r in range(1, sqrt_z +1): if z % r == 0: q = z // r divisors.append(r) if q != r: divisors.append(q) answer = 0 for d in divisors: a = d - 1 z0 = z // d if a > 0: if a == 1: if X == z0 and Y == z0: answer += z0 - 1 else: if (X - z0) > 0 and (X - z0) % (a - 1) == 0: b = (X - z0) // (a - 1) if b > 0: c = z0 - b if c > 0: print(a, b, c) answer += 1 return answer def main(): S = int(input()) answers = [] for _ in range(S): X, Y = map(int, input().split()) ans = solve(X, Y) answers.append(ans) for ans in answers: print(ans) if __name__ == "__main__": main()