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

Solution:
#include <bits/stdc++.h>
using namespace std;
char s[100];
int main() {
  int t;
  long long x;
  scanf("%d", &t);
  while (t--) {
    getchar();
    scanf("%s", s);
    scanf("%lld", &x);
    long long sum = 0;
    long long len = strlen(s);
    for (int i = 0; i < len; i++) {
      sum += s[i] - '0';
    }
    if (sum <= x) {
      printf("0\n");
      continue;
    }
    bool flag = false;
    vector<int> v;
    sum = 0;
    long long pos = 0, k;
    for (int i = 0; i < len; i++) {
      sum += s[i] - '0';
      if (sum == x && !flag) {
        pos = i;
        flag = true;
      }
      if (sum > x && !flag) {
        pos = i;
        break;
      }
    }
    flag = true;
    for (int i = len - 1; i >= pos; i--) {
      if (s[i] == '0' && flag) {
        v.push_back(0);
      } else {
        if (flag) {
          v.push_back(10 - (s[i] - '0'));
        } else {
          v.push_back(10 - (s[i] - '0') - 1);
        }
      }
      if (s[i] == '0' && flag)
        flag = true;
      else
        flag = false;
    }
    int i;
    for (i = v.size() - 1; i >= 0; i--) {
      if (v[i] != 0) break;
    }
    for (; i >= 0; i--) {
      printf("%d", v[i]);
    }
    printf("\n");
  }
  return 0;
}