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 sys import stdin, stdout

DEBUG = True

class Scan():
    def __init__(self):
        self.read = stdin.read
        self.input = stdin.readline

    def integer(self, count=1):
        if count == 1:
            return self._integer()
        return [self._integer() for _ in range(count)]

    def _integer(self):
        sym: str = self.read(1)
        while sym != '-' and not sym.isdigit():
            sym = self.read(1)
  
        number, sign = (0, -1) if sym == '-' else (int(sym), 1)
        sym: str = self.read(1)
        while sym.isdigit():
            number = number * 10 + int(sym)
            sym = self.read(1)
        
        return number * sign
    
    def array(self, func=int, sep=' '):
        if func == str:
            return input().split(sep)
        return list(map(func, input().split(sep)))

    def string(self, count=1):
        if count == 1:
            return self._string()
        return (self._string() for _ in range(count))

    def _string(self):
        sym = self.read(1)
        while sym in ('\n', '\r', ' '):
            sym = self.read(1)
        
        s = str()
        while sym not in ('\n', '\r', ' '):
            s += sym
            sym = self.read(1)

        return s

class Write():
    pass

class Number():
    def gcd(self, a, b):
        while b > 0:
            a, b = b, a % b
        return a
    
    def lcm(self, a, b):
        return a * b // gcd(a, b)

class Constants():
    EPS = 10 ** -9
    INF = 10 ** 18
    MOD = 10 ** 9 + 7

def solution(scan: Scan, write: Write):
    a, b = scan.integer(2)
    if a % b == 0:
        stdout.write(str(0) + '\n')
    else:
        stdout.write(str((a // b + 1) * b - a) + '\n')

def main():
    queries: int = 1
    scan, write = Scan(), Write()
    queries = scan.integer()
    for _ in range(queries):
        solution(scan, write)

if __name__ == "__main__":
    main()