You are given two integers l and r, where l < r. We will add 1 to l until the result is equal to r. Thus, there will be exactly r-l additions performed. For each such addition, let's look at the number of digits that will be changed after it.

For example: 

  * if l=909, then adding one will result in 910 and 2 digits will be changed; 
  * if you add one to l=9, the result will be 10 and 2 digits will also be changed; 
  * if you add one to l=489999, the result will be 490000 and 5 digits will be changed. 



Changed digits always form a suffix of the result written in the decimal system.

Output the total number of changed digits, if you want to get r from l, adding 1 each time.

Input

The first line contains an integer t (1 ≤ t ≤ 10^4). Then t test cases follow.

Each test case is characterized by two integers l and r (1 ≤ l < r ≤ 10^9).

Output

For each test case, calculate the total number of changed digits if you want to get r from l, adding one each time.

Example

Input


4
1 9
9 10
10 20
1 1000000000


Output


8
2
11
1111111110
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class F {
    public static long getChanges(int n){
        long ans = 0;
        int tens = 1;
        while (tens <= n){
            ans += n / tens;
            tens*= 10;
        }
        return ans;
    }
    public static void main(String[] args) throws Exception {
        BufferedReader buffer = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        int t = Integer.parseInt(buffer.readLine());
        while (t-- > 0) {
            String [] inp = buffer.readLine().split(" ");
            int l = Integer.parseInt(inp[0]), r = Integer.parseInt(inp[1]);
//            if (l == r){
//                sb.append(0+"\n");
//                continue;
//            }
//            long cnt = 0;
//            while (l % 10 != 0 && l < r){
//                cnt++;
//                l++;
//            }
//            if (cnt > 0 && l % 10 == 0)
//                cnt++;
//            if (l == r)
//                sb.append(cnt).append("\n");
//            else {
//                while (r % 10 != 0)
//                {
//                    r--;
//                    cnt++;
//                }
//                int diff = r-l;
//                cnt += (long)((r-l)/10)*11;
//                int num = 100;
//                int d = 1;
//                while (num <= Math.min(diff, 1000_000_000)){
//                    int temp = r/num;
//                    cnt += (long) temp * d;
//                    cnt-=temp;
//                    num *= 10;
//                    d++;
//                }
//                sb.append(cnt).append("\n");
//            }
            long ans = getChanges(r)-getChanges(l);
            sb.append(ans).append("\n");
        }
        System.out.println(sb);
    }
}
//1111111110
