import bisect def divisors(n): lower, upper = [], [] i = 1 while i*i <= n: if n % i == 0: lower.append(i) if i != n // i: upper.append(n//i) i += 1 return lower + upper[::-1] t = int(input()) for i in range(t): a, b = map(int, input().split()) if a == b: print(0) else: ba = b - a ans = divisors(ba) j = bisect.bisect_left(ans, a) if len(ans[j:]) == 0: print(-1) else: print(min(ans[j:]) - a)