/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

import java.io.File;
import java.io.FileInputStream;
import java.util.Scanner;

/**
 *
 * @author imgps
 */
public class C {
    public static void main(String args[]) throws Exception{
        int A,B;
        int ctr = 0;
        int testCases;
        
        Scanner sc = new Scanner(new FileInputStream("C-small-attempt0.in "));
        testCases = sc.nextInt();
        int input[][] = new int[testCases][2];
        for(int i=0;i<testCases;i++)
        {
          //  System.out.print("Enter input A B: ");
            input[i][0] = sc.nextInt();
            input[i][1] = sc.nextInt();
            
        }
  

for(int k=0;k<testCases;k++){
      ctr = 0;
      A = input[k][0];
      B = input[k][1];
        for(int i = A;i<=B;i++){
            int num = i;
            int nMul = 1;
            int mul = 1; 
            int tnum = num/10;
            while(tnum > 0){
                mul = mul *10;
                tnum= tnum/10;
            }
            tnum = num;
            int n = 0;
            while(tnum > 0 && mul >= 10){
                nMul = nMul * 10;
                n = (num % nMul) * mul + (num / nMul);
                mul = mul / 10;
                tnum = tnum / 10;
                for(int m=num;m<=B;m++){
                    
                    if(n == m && m > num){
                        ctr++;
                    }
                }
                
                
                
         
            }
        }
        System.out.println("Case #"+(k+1)+": "+ctr);
        
    }
    }
}

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Arrays;

public class Csmall {
    
    private static String move(String n) {
        return n.substring(1) + n.charAt(0);
    }
    
    private static boolean recycled(int n, int m) {
        // Parte 1
        char[] cn = (n + "").toCharArray();
        char[] cm = (m + "").toCharArray();
        Arrays.sort(cn);
        Arrays.sort(cm);
        
        if (!Arrays.equals(cn, cm))
            return false;
        
        // Parte 2
        String cpy = n + "";
        
        while (!(cpy = move(cpy)).equals(n + ""))
            if (Integer.parseInt(cpy) == m)
                return true;
        
        return false;
    }
    
    public static void main(String[] args) {
        BufferedReader br = null;

        try {
            br = new BufferedReader(new FileReader(args[0]));
            
            int s = Integer.parseInt(br.readLine());
            
            for (int i = 0; i != s; ++i) {
                String x = br.readLine();
                String[] tokens = x.split(" ");
                
                int A = Integer.parseInt(tokens[0]);
                int B = Integer.parseInt(tokens[1]);
                int count = 0;
                
                System.out.print("Case #" + (i+1) + ": ");
                
                for (int n = A; n <= B; ++n)
                    for (int m = n + 1; m <= B; ++m)
                        if (recycled(n,m))
                            ++count;
                
                System.out.println(count);
            }

        } catch (IOException e) {
            System.out.println("Error :(");
        } finally {
            
            try {
                if (br != null) br.close();
            } catch (IOException ex) {
                System.out.println("Error :(");
            }
            
        }
    }
}