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 JAVA):

Solution:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.*;
public class test9 {

	public static final int mod=1000000007;
	public static void main(String[] args) throws IOException {
		
		//BufferedReader sc=new BufferedReader(new InputStreamReader(System.in));
		Scanner sc=new Scanner(System.in);
		PrintWriter out=new PrintWriter(System.out);
		int t=sc.nextInt();
		
		for(int z=0;z<t;z++) {
			long n=sc.nextLong();
			long s=sc.nextInt();
			long ans=0;
			long sum=0;
			long m=n;
			String ns=String.valueOf(n);
			for(int i=0;i<ns.length();i++) sum+=(ns.charAt(i)-'0');
			if(sum<=s) {
				System.out.println(0);
				continue;
			}
			int j=0;
			for(int i=ns.length()-1;i>=0;i--,j++) {
				if(sum<=s) break;
				if(ns.charAt(i)=='0') continue;
				sum=sum-(ns.charAt(i)-'0');
				long inc=(long)Math.pow(10,j)*(10-(ns.charAt(i)-'0'));
				ans=ans+inc;
				n+=inc;
				ns=String.valueOf(n);
				sum=0;
				for(int k=0;k<ns.length();k++) sum+=(ns.charAt(k)-'0');
			}
			String val=String.valueOf(ans);
			if(val.length()<=String.valueOf(m).length())
				System.out.println(val);
			else
				System.out.println(val.substring(1));
				
		}
		out.flush();
		out.close();
	}
	
	
	public static class Pair{
		int d=0;
		int prev=0;
		boolean p=true;
		Pair(int n,int o, boolean c){
			d=n;
			prev=o;
			p=c;
		}		
	}
	
}