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.util.*;
import java.io.*;
import java.math.BigInteger;

public class codeforcesc {

//	static void methods() {
//		Integer arr[] = { 1, 2, 5, 1, 7, 8 };
//		Integer arr2[] = { 1, 1, 1, 1, 1, 1 };
//		List<Integer> l1 = new ArrayList<>();
//		l1 = Arrays.asList(arr);
//		 ll = new ArrayList<>(l1);
//		boolean bb = Arrays.equals(arr, arr2);
//		 Collections.reverse(ll);
//		ll.remove((Integer) 5);
//		System.out.println(ll);
//
//	}

//	static long gcd(long a, long b) {
//		if (b == 0)
//			return a;
//		return gcd(b, a % b);
//	}
	static long cal(long arr[],int in) {
		long ans=0;
		for(int i=in;i<arr.length;i++) {
			ans=ans*10+arr[i];
		}
		return ans;
	}

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
			int t=sc.nextInt();
			while(t-->0) {
				Long n=sc.nextLong();
			     long s=sc.nextInt();
			    String st=String.valueOf(n);
			    char c[]=st.toCharArray();
			    long l=c.length;
			    long arr[]=new long[c.length];
			    for(int i=0;i<l;i++) {
			    	arr[i]=c[i]-'0';
			    }
//			    for(int i=0;i<l;i++) {
//			    	System.out.print(arr[i]+" ");
//			    }System.out.println();
			    
			    long sum=0;
			    long moves=0;
			    int cnt=0;
			    int flag=-1;
			    long ts=0;
			    for(int i=0;i<l;i++) {
			       ts=ts+arr[i];
			    }
			    for(int i=0;i<l;i++) {
			    	sum=sum+arr[i];
			    	
			    	if(sum>=s) {
			    		flag=i;break;
			    	}
			    }
			    //System.out.println("ts="+ts);
			    if(ts<=s)flag=-1;
			   
			   if(flag!=-1) { long val=l-flag;
			    val=(long)Math.pow(10L,val);
			    moves=moves+(val-cal(arr,flag));
			   }
			    System.out.println(moves);
			  
			    
			    
			    
			     
			}
	}
}