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:
# decrease_sum.py
for _ in range(int(input())):
    n,s = map(int,input().split())
    ns = str(n)
    l = len(ns)
    i = 0
    sum_ = 0
    p = n
    a = []
    while p>0:
        a.append(p%10)
        p//=10
    a.reverse()
    sum_ = sum(a)
    if sum_<=s:
        print('0')
        continue
    m = 0
    i = 0
    while m+a[i]<s:
        m+=a[i]
        i+=1
    # print(m,a[i])
    j = 0
    ans = 0
    while j<i:
        ans = ans*10+a[j]
        j+=1
    ans+=1
    ans = ans*(10**(l-i))
    print(ans-n)






    # while i<l:
    #     sum_+=(ord(ns[i])-ord('0'))
    #     i+=1
    # # print(sum_)
    # if sum_ <=s:
    #     print('0')
    #     continue
    # i = l-1
    # p = n
    # while i>=0 and sum_-(p%10)>=s:
    #     sum_-=(p%10)
    #     # if sum_-(p%)
    #     p = p//10
    #     i-=1
        
    # if p == 0:
    #     print(10**(l)-n)
    # else:
    #     p+=1
    #     print(p*(10**(l-i-1))-n)