package jp.funnything.competition.util;

import java.math.BigInteger;

/**
 * Utility for BigInteger
 */
public class BI {
    public static BigInteger ZERO = BigInteger.ZERO;
    public static BigInteger ONE = BigInteger.ONE;

    public static BigInteger add( final BigInteger x , final BigInteger y ) {
        return x.add( y );
    }

    public static BigInteger add( final BigInteger x , final long y ) {
        return add( x , v( y ) );
    }

    public static BigInteger add( final long x , final BigInteger y ) {
        return add( v( x ) , y );
    }

    public static int cmp( final BigInteger x , final BigInteger y ) {
        return x.compareTo( y );
    }

    public static int cmp( final BigInteger x , final long y ) {
        return cmp( x , v( y ) );
    }

    public static int cmp( final long x , final BigInteger y ) {
        return cmp( v( x ) , y );
    }

    public static BigInteger div( final BigInteger x , final BigInteger y ) {
        return x.divide( y );
    }

    public static BigInteger div( final BigInteger x , final long y ) {
        return div( x , v( y ) );
    }

    public static BigInteger div( final long x , final BigInteger y ) {
        return div( v( x ) , y );
    }

    public static BigInteger mod( final BigInteger x , final BigInteger y ) {
        return x.mod( y );
    }

    public static BigInteger mod( final BigInteger x , final long y ) {
        return mod( x , v( y ) );
    }

    public static BigInteger mod( final long x , final BigInteger y ) {
        return mod( v( x ) , y );
    }

    public static BigInteger mul( final BigInteger x , final BigInteger y ) {
        return x.multiply( y );
    }

    public static BigInteger mul( final BigInteger x , final long y ) {
        return mul( x , v( y ) );
    }

    public static BigInteger mul( final long x , final BigInteger y ) {
        return mul( v( x ) , y );
    }

    public static BigInteger sub( final BigInteger x , final BigInteger y ) {
        return x.subtract( y );
    }

    public static BigInteger sub( final BigInteger x , final long y ) {
        return sub( x , v( y ) );
    }

    public static BigInteger sub( final long x , final BigInteger y ) {
        return sub( v( x ) , y );
    }

    public static BigInteger v( final long value ) {
        return BigInteger.valueOf( value );
    }
}

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.PrintWriter;
import java.util.Scanner;


public class c_small
{

		static int u,l,j,n,m=0,k;
		static int arr[];
	
	public static void solve() throws Exception
	{
		PrintWriter out =new PrintWriter(new File("c_small.out"));
		Scanner sc =new Scanner(new File("c_small.in"));
		int testCase=sc.nextInt();
			
		for (int i = 1; i <= testCase; i++)
		{		int p;
				arr=new int[1000];
				
				l=sc.nextInt();
				u=sc.nextInt();
				int res=0,r=0;
				for(j=l;j<=u;j++)	
					{		
					
					String j1=Integer.toString(j);
				//out.println("j "+j1);
				for(int x=((j1.length())-1);x>=1;x--)
					{
					for(p=0;p<1000;p++){
					String c=j1.substring(x,(j1.length()));
					//out.println("c "+c);
					String a=c+(j1.substring(0,x));
					//out.println("a "+a);
					int n=Integer.parseInt(a);
						
					
					for(k=l;k<=u;k++)
					{
					if((k!=j) && (k==n) && (n!=arr[p]))
						{
				
						arr[p]=n;
				
				res=res+1;
						break;
						}	
					
					}
				}	
				
			
			}}
			out.println("Case #"+ i +": "+(res/2000));
		}
			
		out.close();
	}
	
	public static void main(String[] args) throws Exception
	{
		solve();
	}
	
}

