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.util.*;
import java.lang.*;
// import java.math.*;
import java.io.*;
public class Main
{
    public static int mod=(int)Math.pow(10,9) + 7;
    public static BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
    public static PrintWriter ot=new PrintWriter(System.out);
    public static int[] take_arr(int n){
        int a[]=new int[n];
        try {
            String s[]=br.readLine().trim().split(" ");
            for(int i=0;i<n;i++)
            a[i]=Integer.parseInt(s[i]);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return a;
    }
	public static void main (String[] args) throws java.lang.Exception
	{
		try{
            int t=Integer.parseInt(br.readLine().trim());
            while(t-->0)
            {
                String qq[]=br.readLine().trim().split(" ");
                int l=Integer.parseInt(qq[0]);
                int r=Integer.parseInt(qq[1]);
                if(l<=r/2)
                ot.println(r%(r/2 + 1));
                else
                ot.println(r%l);
            }
            ot.close();
            br.close();
            
        }catch(Exception e){
            e.printStackTrace();
            return;
        }
    }
    
}
    