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

import static java.lang.Math.*;
import static java.util.Arrays.*;
import static java.util.Collections.*;

public class C{
	Scanner sc=new Scanner(System.in);

	int INF=1<<28;
	double EPS=1e-9;

	int caze, T;
	int A, B;

	void run(){
		T=sc.nextInt();
		for(caze=1; caze<=T; caze++){
			A=sc.nextInt();
			B=sc.nextInt();
			solve();
		}
	}

	void solve(){
		int ans=0;
		for(int n=A; n<=B; n++){
			int digit=(int)(log10(n)+EPS);
			int d=(int)pow(10, digit);
			// debug("n", n);
			for(int m=rot(n, d); m!=n; m=rot(m, d)){
				// debug("m", m);
				if(n<m&&m<=B){
					ans++;
				}
			}
		}
		answer(ans+"");
	}

	int rot(int n, int d){
		return n/10+n%10*d;
	}

	void answer(String s){
		println("Case #"+caze+": "+s);
	}

	void println(String s){
		System.out.println(s);
	}

	void print(String s){
		System.out.print(s);
	}

	void debug(Object... os){
		System.err.println(deepToString(os));
	}

	public static void main(String[] args){
		try{
			System.setIn(new FileInputStream("dat/C-small.in"));
			System.setOut(new PrintStream(new FileOutputStream("dat/C-small.out")));
		}catch(Exception e){}
		new C().run();
		System.out.flush();
		System.out.close();
	}
}

package codejam;

import java.io.FileReader;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Gedion Moyo
 */
public class recycler {

    /**
     * @param args the command line arguments
     */
    
    public static void main(String[] args) {
        try {
           solve();
        } catch (Exception ex) {
            Logger.getLogger(recycler.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public static void solve() throws Exception {
        Scanner in = new Scanner(new FileReader("src/codejam/input.txt"));
        PrintWriter out = new PrintWriter(new FileWriter("src/codejam/output.txt"));

        int caseCount = Integer.valueOf(in.nextLine());
        for (int caseNum = 0; caseNum < caseCount; caseNum++) {
            System.out.println("solving case " + caseNum);
            
            out.print("Case #" + (caseNum + 1) + ":");
            out.print(" ");
            int A = in.nextInt();
            int B = in.nextInt();
            out.print(permute(A,B));
            out.print("\n");
        }
        out.flush();
        out.close();
        in.close();

    }
    
    public static int permute(int A, int B){
        int count = 0;
        HashMap<String,Integer>  map = new HashMap<>();
         
        for(int n = A;n <=B;n++){
            String N[] = (n+"").split("");
            int base = (int) (Math.floor(Math.log10(n) + 1.0));
            String[] num = new String[base];

            
            for(int j=0;j<base;j++){
                num[j] = "";
                for(int i =0; i < base; i++){
                    num[j] = num[j] + N[(i+j)%base+1];
                }
                if (A<=n && n < Integer.valueOf(num[j]) && Integer.valueOf(num[j]) <= B){
                    System.out.print(n+"\t"+ num[j] +"\n");
                    map.put(n+","+num[j], 1);
                    count++;
                }
            }
        }
            
       return map.size();
    }
}
