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:
from collections import *
from sys import *
input = stdin.readline

for _ in range(int(input())):
    
    n,s = map(int,input().split())
    
    a = []
    while(n>0):
        a.append(n%10)
        n = n//10
    
    cn = 0    
    sn = sum(a)
    index = 0 

    while(sn>s and index < len(a)):
        
        d = (10 - a[index])%10
        opn = d*(10**index)
        a[index] = 0
        
        c = 0
        if(opn>0):
            c = 1
        
        itr = index + 1
        while(c == 1 and itr < len(a)):
            if(a[itr] == 9):
                a[itr] = 0
                itr += 1
            else:
                a[itr] += 1
                c = 0

        sn = sum(a)
        cn += opn
        index += 1
        
    print(cn)