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:
test=int(input())
def digitsum(n):
    sum=0
    while(int(n)>0):
        sum+=int(n)%10
        n=int(n)-int(n)%10
        n=int(n)//10
    return sum

for i in range(test):
    #print("i: ",i)
    n,s=input().split()
    if digitsum(n)<=int(s) :
        print("0")
    elif int(s)<=int(n[0]):
        wynik="1"
        while(int(wynik)<int(n)):
            wynik+="0"
        print(int(wynik)-int(n))
    else:
        target=""
        ss=0
        tmp=0
        while(int(s)>ss+int(n[tmp])):
            ss+=int(n[tmp])
            tmp+=1
            if(tmp>len(n)-1):
                tmp=len(n)
                break
        
        for i in range(tmp):
            target+=str(n[i])
        targett=int(target)
        targett+=1
        targettt=str(targett)
        while(int(targettt)<int(n)):
            targettt+='0'
       
        print(int(targettt)-int(n))