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

public class NewClass4 {

    public static void main(String args[]) {
        Scanner scan = new Scanner(System.in);

        int t = scan.nextInt();
        w:
        while (t-- > 0) {
            long n = scan.nextLong();
            int s = scan.nextInt();
            String k = String.valueOf(n);
            int r = 0;
            for (int i = 0; i < k.length(); i++) {
                r += (k.charAt(i) - '0');
            }
            long res = 0;
            if (r <= s) {
                System.out.println("0");
            } else {

                for (int i = k.length() - 1; i >= 0; i--) {
                    r -= k.charAt(i) - '0';

                    if (r <= s && k.charAt(i) != '0') {

                        String p = "";
                        for (int j = 0; j < i; j++) {
                            p += k.charAt(j);

                        }
                        String y = "1";
                        for (int j = i; j < k.length(); j++) {
                            p += "0";
                            y += "0";
                        }
                        long w = Long.valueOf(y) + Long.valueOf(p);
                        String q = String.valueOf(w);
                        int u = 0;
                        for (int j = 0; j < q.length(); j++) {
                            u += q.charAt(j) - '0';
                        }
                   ///     System.out.println(q);
                        if (u > s) {
                            q = 1 + "0" + q.substring(1);
                            w = Long.valueOf(q);

                        } else {
                            res += (w) - n;
                            n = w;
                            break;
                        }
                    } else if (k.charAt(i) != '0') {
                        String p = "";
                        for (int j = 0; j < i; j++) {
                            p += k.charAt(j);
                        }
                        String y = "1";
                        for (int j = i; j < k.length(); j++) {
                            p += "0";
                            y += "0";
                        }
                        res += (Long.valueOf(y) + Long.valueOf(p)) - n;
                        n = Long.valueOf(y) + Long.valueOf(p);
                    }
                }
                System.out.println(res);
            }
        }
    }
}