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.*;

public class Main
{
    public static long MIN(long a,long b)
    {
        if(a<b)
            return a;
        return b;
    }
    public static int MAX(int a,int b)
    {
        if(a>b)
            return a;
        return b;
    }
    public static void main(String[] args) throws IOException
    {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        int t = Integer.parseInt(br.readLine());
        while(t-->0)
        {
            String[] inp = br.readLine().split(" ");
            int n = inp[0].length()+1;
            int[] a = new int[n+1];
            for(int i=1;i<n;i++)
                a[i] = inp[0].charAt(i-1)-'0';
            long s = Long.parseLong(inp[1]);
            long sum = 0;
            for(int i=0;i<n;i++)
                sum += a[i];
            if(sum<=s)
                bw.write("0\n");
            else
            {
                for(int i=1;i<n;i++)
                {
                    s = s - a[i];
                    if(s<=0)
                    {
                        a[i-1] = a[i-1]+1;
                        for(int j=i;j<n;j++)
                            a[j] = 0;
                        break;
                    }
                }
                long num = 0;
                for(int i=0;i<n;i++)
                    num = num*10 + a[i];
                bw.write(num - Long.parseLong(inp[0])+"\n");
            }
            
            
            
        }
        bw.flush();
    }
}
class pair{
    int x,y;
    pair(int x,int y)
    {
        this.x = x;
        this.y = y;
    }
}