description: 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.
solution: import java.util.Arrays;
  import java.util.HashSet;
  import java.util.Scanner;
  import java.util.Set;
  
  public class Main {
  
    static Scanner s;
    public static void main(String[] args) {
      s = new Scanner(System.in);
  
      int len = s.nextInt();
      long a = 0;
      long b = 0;
      long c = 0;
      long res = 0;
      long floor = 0;
      long max = 0;
      long min = 0;
      long d = 0;
      long e = 0;
      long f = 0;
      long g = 0;
      long n = 0;
      long m = 0;
      StringBuilder sb = new StringBuilder();
      String str;
      boolean placeFound = true;
      String result = "";
      int ans = Integer.MIN_VALUE;
      while (len--> 0){
        a = s.nextLong();
        b = s.nextLong();
        if(b / 2 < a){
          System.out.println(b%a);
        }else {
          if(b%2 == 0)
            System.out.println(b/2 - 1);
          else
            System.out.println(b/2);
        }
  
      }
  
      s.close();
    }
  
    private static long[] readArray(long a) {
      long[] nums = new long[(int) a];
      for(int i = 0; i < a; i++)
        nums[i]=s.nextLong();
      return nums;
    }
  
    private static long gcdByEuclidsAlgorithm(long n1, long n2) {
      if (n2 == 0) {
        return n1;
      }
      return gcdByEuclidsAlgorithm(n2, n1 % n2);
    }
  
  }
  