import math def get_divisors(s): if s == 0: return [] divisors = set() for i in range(1, int(math.isqrt(s)) + 1): if s % i == 0: divisors.add(i) divisors.add(s // i) sorted_divisors = sorted(divisors) return [d for d in sorted_divisors if d >= 3] def main(): import sys input = sys.stdin.read().split() idx = 0 S = int(input[idx]) idx += 1 for _ in range(S): X = int(input[idx]) Y = int(input[idx+1]) idx +=2 S_total = X + Y divisors = get_divisors(S_total) count = 0 for d in divisors: A = d - 1 denomB = (d - 2) * d # Check B numB = A * X - Y if numB <= 0: continue if numB % denomB != 0: continue B = numB // denomB if B < 1: continue # Check C numC = A * Y - X if numC <= 0: continue if numC % denomB != 0: continue C = numC // denomB if C < 1: continue count += 1 print(count) if __name__ == "__main__": main()