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 input_int():
    return(int(input()))

def input_int_list():
    return(list(map(int,input().split())))

def input_input_map():
    return(map(int,input().split()))

def run():
    q_num = input_int()

    for i in range(q_num):

        base_num, target_sum = input_input_map()

        base_num_sum = 0
        for num in str(base_num):
            base_num_sum += int(num)
        if base_num_sum <= target_sum:
            print(0)
            continue

        base_num_str = str(base_num)

        num_len = len(base_num_str)

        sum_from_top = 0

        from_top_i = 0

        for i_from_top in range(num_len):
            sum_from_top += int(base_num_str[i_from_top])
            if sum_from_top >= target_sum:
                from_top_i = i_from_top
                break

        a = 10 ** (num_len - from_top_i)
        b = int(base_num_str[from_top_i:])
        result = a - b
        print(result)

run()

# 217871987498122 10
#   2128012501878 10

# 100000000000000001
# 899999999999999999