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:
import sys

t = int(input())
while t>0:
	t-=1
	input=sys.stdin.readline()
	n,s = map(int, input.split())
	a=[]
	x=n
	while x>0:
		a.append(x%10)
		x=x//10
	a.reverse()
	add, flag=0, 0
	for i in range(len(a)):
		add+=a[i]
		if add>s:
			flag=1
			break
	if flag ==0:
		print(0)
	elif a[0] >=s:
		print(10**len(a) - n)
	elif add-a[i]==s:
		while a[i-1]==0:
			i-=1
		num=0
		for x in range(i-1):
			num=num*10+a[x]
		# print(num)
		print((num+1)*(10**(len(a)-i+1)) - n)
	else:
		num=0
		for x in range(i):
			num=num*10 +a[x]
		print((num+1)*(10**(len(a)-i)) - n)