You are given two integers l and r, l≤ r. Find the largest possible value of a mod b over all pairs (a, b) of integers for which r≥ a ≥ b ≥ l.

As a reminder, a mod b is a remainder we get when dividing a by b. For example, 26 mod 8 = 2.

Input

Each test contains multiple test cases.

The first line contains one positive integer t (1≤ t≤ 10^4), denoting the number of test cases. Description of the test cases follows.

The only line of each test case contains two integers l, r (1≤ l ≤ r ≤ 10^9).

Output

For every test case, output the largest possible value of a mod b over all pairs (a, b) of integers for which r≥ a ≥ b ≥ l.

Example

Input


4
1 1
999999999 1000000000
8 26
1 999999999


Output


0
1
12
499999999

Note

In the first test case, the only allowed pair is (a, b) = (1, 1), for which a mod b = 1 mod 1 = 0.

In the second test case, the optimal choice is pair (a, b) = (1000000000, 999999999), for which a mod b = 1.

import java.math.BigInteger;
import java.util.*;
import java.lang.*;



public class geek {


   public static final int MOD=1000000007;



    public static void main(String[] args) {
        try {
            Scanner s = new Scanner(System.in);
            StringBuffer sb = new StringBuffer();

            int t=s.nextInt();
            while (t-->0) {
            /*Map<Integer,ArrayList<Integer>> hm=new HashMap<>();
            for(int i=1;i<=n;i++){
                hm.put(i,new ArrayList<Integer>());
            }
            for(int i=0;i<2*n;i++){

                int index=s.nextInt();
                int childrenIndex=s.nextInt();
                if(childrenIndex!=-1) {
                    hm.get(index).add(childrenIndex);
                }
            }
            sb.append("Height of the tree : "+TreeNode.heightUtil(hm));
           sb.append("\nSum of the tree : "+TreeNode.sumTreeUtil(hm));
            sb.append("\nInorder traversal : ");
            System.out.println(sb);

            TreeNode.inorderUtil(hm);
            System.out.println("\nPreOrder Traversal : ");
            TreeNode.preorderUtil(hm);
            System.out.println("\nPostOrder Traversal : ");
            TreeNode.postOrderUtil(hm);
            System.out.println("\nNo of nodes : "+TreeNode.no_of_nodesUtil(hm));

*/
                int l=s.nextInt();
                int r=s.nextInt();
               // System.out.println(999999999%500000000);

                if(l<=(r/2)){
                   if(r%2==0){
                       sb.append((r/2)-1).append("\n");
                   }else{
                       sb.append(r/2);
                   }
                }else{

                    sb.append((r%l)+"\n");

                }




            }

            System.out.println(sb);

        } catch (Exception e) {
            System.out.println(e.getCause());
        }
    }
}