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
import math
from collections import defaultdict,Counter

input=sys.stdin.readline
def print(x):
    sys.stdout.write(str(x)+"\n")

# sys.stdout=open("CP2/output.txt",'w')
# sys.stdin=open("CP2/input.txt",'r')

# m=pow(10,9)+7
t=int(input())
for i in range(t):
	n,s=map(int,input().split())
	n1=str(n)
	ans=0
	ind=-2
	for j in range(len(n1)):
		ans+=int(n1[j])
		if ans==s and ind==-2:
			ind=j
		elif ans>s:
			if ind==-2:
				ind=j
				break
		# 	d=len(n1)-j
		# 	while prev==s:
		# 		d+=1
		# 	if prev==s:
		# 		d+=1
		# prev=ans
	if ans<=s:
		print(0)
		continue

	if ind==-1:
		ans1=pow(10,len(n1))-n
	else:
		ans1=pow(10,len(n1)-ind)-int(n1[ind:])
	print(ans1)
	# 	for j in range(ind+1,len(n1)):
	# 		ans1+=
	# while n1:
	# 	d=n1%10
	# 	ans+=d
	# 	n1//=10
	# 	if ans>s:
	# 		break
	# if ans<=s:
	# 	print(0)
	# 	continue
	# l1=len(str(n))
	# print(pow(10,l1)-n)