import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

class RecycledNumbers{
	
	
	
	int getcount(int small,int large){
		int count = 0;
		for(int currnum = small; currnum < large; currnum++){
			int permut = currnum;
			int no_of_digits = 0;
			while(permut > 0){
				permut = permut/10;
				no_of_digits++;
			}
			int lastDigit = currnum % 10;
			permut = currnum / 10;
			permut = permut + lastDigit * (int)Math.pow(10, no_of_digits-1);
			while(permut != currnum){
				
				if(permut >= currnum && permut <= large){
					
					count++;
				}
				lastDigit = permut % 10;
				permut = permut / 10;
				permut = permut + lastDigit * (int)Math.pow(10, no_of_digits-1);
				
			}
			
		}
		
		return count;
	}
	
	public static void main(String args[]){
		RecycledNumbers d = new RecycledNumbers();
		
		int no_of_cases = 0;
		String input = "";
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		try{
			no_of_cases = Integer.parseInt(br.readLine());
		}
		catch(Exception e){
			System.out.println("First line is not a number");
		}
		
		for(int i=1; i <= no_of_cases;i++){
			try{
				input = br.readLine();
			}
			catch(Exception e){
				System.out.println("Number of test cases different from the number mentioned in first line");
			}
			
			System.out.print("Case #" +i+": ");
			
			StringTokenizer t =  new StringTokenizer(input);
			int small=0,large=0;
			if(t.hasMoreTokens()){
				small = Integer.parseInt(t.nextToken());
			}
			if(t.hasMoreTokens()){
				large = Integer.parseInt(t.nextToken());
			}
			System.out.println(d.getcount(small,large));
			
		}
		
		
		

	}
	
	
}
/*
choochootrain
Google Code Jam 2012
*/
import java.io.*;
import java.util.*;

class ProblemC 
{
  public static Set<String> seen;
  public static int a;
  public static int b;

  public static void main (String [] args) throws IOException 
  {
    String filename = "C-small-attempt0";  
    BufferedReader f = new BufferedReader(new FileReader(filename + ".in"));
    PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(filename + ".out")));
    int numberOfTests = Integer.parseInt(f.readLine());
    seen = new HashSet<String>();
    for(int n = 1; n <= numberOfTests; n++)
    {
      StringTokenizer st = new StringTokenizer(f.readLine());
      a = Integer.parseInt(st.nextToken());
      b = Integer.parseInt(st.nextToken());

      for(int i = a; i <= b; i++) {
        findNumRotations(i);
      }
      
      int solution = seen.size();
      out.println("Case #" + n + ": " + solution);

      seen = new HashSet<String>();
    }
    out.close();

    System.exit(0);
  }

  public static void findNumRotations(int num) {
    int numRots = getRotationCount(num);

    for(int i = 1; i <= numRots; i++) {
      int rotated = rotate(num, i, numRots + 1);
      if (rotated > num && rotated <= b) {
        seen.add(num + " " + rotated);
        System.out.println(num + " " + rotated);
      }
    }
  }

  private static int rotate(int num, int amt, int digits) {
    int bottom = (int)(num / Math.pow(10, amt));
    int top = (int)(num % Math.pow(10, amt));

    return (int)(top * Math.pow(10, digits - amt) + bottom);
  }

  private static int getRotationCount(int num) {
    if (num < 10)
      return 0;

    int c = 0;
    while(num > 0) {  
      num = num / 10;
      c++;
    }

    return c - 1;
  }
}
