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:
def do2(n, s):
    pass
def do():
    q = int(input())
    for _ in range(q):
        a = [0] * 30
        res = [0] * 30
        n,s = input().split()
        n = n[::-1]
        for i in range(len(n)):
            a[i] = int(n[i])
        s = int(s)
        i = 0
        while sum(a) > s:
            if a[i] > 9:
                a[i], a[i+1] = a[i] % 10, a[i+1] + a[i] // 10
                continue
            if a[i] == 0:
                i += 1
                continue
            res[i] = 10 - a[i]
            a[i+1] += 1
            a[i] = 0
            i += 1
        res = int("".join(map(str, res[::-1])))
        print(res)



do()