Problem: You are given a positive integer n. In one move, you can increase n by one (i.e. make n := n + 1). Your task is to find the minimum number of moves you need to perform in order to make the sum of digits of n be less than or equal to s.

You have to answer t independent test cases.

Input

The first line of the input contains one integer t (1 ≤ t ≤ 2 ⋅ 10^4) — the number of test cases. Then t test cases follow.

The only line of the test case contains two integers n and s (1 ≤ n ≤ 10^{18}; 1 ≤ s ≤ 162).

Output

For each test case, print the answer: the minimum number of moves you need to perform in order to make the sum of digits of n be less than or equal to s.

Example

Input


5
2 1
1 1
500 4
217871987498122 10
100000000000000001 1


Output


8
0
500
2128012501878
899999999999999999

Solution (in PYTHON3):

Solution:
for _ in range(int(input())):
    s1, s = input().split()
    s = int(s)
    a = list(map(int, list(s1)))
    cs = sum(a)
    ans = []
    t = 0
    while cs>s:
        if a==[]:
            break
        ce = a.pop()
        ce += t
        t = 0
        if ce == 0:
            ans.append(0)
            continue
        cs -= ce-1
        t = 1
        ans.append(10-ce)
    ans1 = 0
    n = len(ans) - 1
    for i in reversed(ans):
        ans1+=i*(10**n)
        n-=1
    #print(ans)
    print(ans1)