import java.io.*;

class code1
{
	public static void main(String args[]) throws Exception 
	{
		File ii = new File ("C-small-attempt1.in");
		FileInputStream fis = new FileInputStream(ii);
		BufferedReader  br = new BufferedReader(new InputStreamReader (fis));
		int cases = Integer.parseInt(br.readLine());
		FileOutputStream fout = new FileOutputStream ("output.txt");
		DataOutputStream dout = new DataOutputStream (fout);
		int total=0;
		for(int i=0;i<cases;i++){
		String temp = br.readLine();
		String parts [] = temp.split(" ");
		int lower = Integer.parseInt(parts[0]);
		int upper = Integer.parseInt(parts[1]);
		System.out.println(lower+" "+upper);
		
		for(int j=lower;j<=upper;j++)
		{
			int abc = j;int length=0;
			if(j<10)continue;
			while (abc!=0){abc/=10;length++;}
			abc=j;
			for(int m=0;m<length-1;m++){
				int shift = abc%10;
				abc=abc/10;
				System.out.println("hi "+j);
				abc=abc+shift*power(10,length-1);
				if(abc<=upper&&shift!=0&&abc>j)total++;
				System.out.println(total);
			}
		}
 		dout.writeBytes("Case #"+(i+1)+ ": "+total+"\n");
 		total=0;
		}//for close
		
	}

	private static int power(int i, int j) {
		int no=1;
		for(int a=0;a<j;a++){no=10*no;}
		return no;
	}
}
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package codejamqualfication;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.HashSet;
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 *
 */
public class QualificationC {
    
    public static void main(String[] args) {
        File file = new File("C:\\codejam\\plik.txt");
        File result = new File("C:\\codejam\\result.txt");


        try {
            BufferedReader input = new BufferedReader(new FileReader(file));
            FileWriter writer = new FileWriter(result);

            int i = -1;
            String line;

            while ((line = input.readLine()) != null) {

                if (i == -1) {
                    i = 0;
                } else {
                    i++;
                    writer.write(processLine(line, i));
                    writer.write("\n");
                }
            }

            input.close();
            writer.close();

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    
    private static final Pattern LINE_PATTERN = Pattern.compile("(\\d+)\\s(\\d+)");

    private static String processLine(String line, int i) {
        StringBuilder sb = new StringBuilder("Case #");
        sb.append(i);
        sb.append(": ");
        Matcher m = LINE_PATTERN.matcher(line);
        if(m.matches()){
            sb.append(generateAndCountPairs(m.group(1), m.group(2)));
        }                    
        
        return sb.toString();
    }

    private static int generateAndCountPairs(String a, String b) {
        int successCounter = 0;
        int aInt = Integer.valueOf(a);
        int bInt = Integer.valueOf(b);
        for (int nInt = aInt; nInt <= bInt; nInt++) {
            String n = String.valueOf(nInt);
            Set<Integer> obtainedMs = new HashSet<Integer>();
            for (int i = 1; i <= n.length(); i++) {
                String m = n.substring(i, n.length()) + n.substring(0, i);
                int mInt = Integer.valueOf(m);
                if (mInt > nInt && mInt <= bInt && !m.startsWith("0") && !obtainedMs.contains(mInt)) {
                    successCounter++;
                    obtainedMs.add(mInt);
                }
            }
        }
        return successCounter;
    }
}
