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.*;
import java.util.StringTokenizer;

public class CodeJam1 {
	
	static BufferedReader br;
	static PrintWriter pw;
	
	static int a,b,count;
	
	public static void main(String[] args)throws Exception{
		br=new BufferedReader (new FileReader ("in.txt"));
		pw=new PrintWriter (new FileWriter("out.txt"));
		
		int n=Integer.parseInt( br.readLine() );
		for (int i=1;i<=n;i++){
			input();
			work();
			
			pw.printf("Case #%d: %d%n",i,count);
		}
		
		pw.close();
	}
	
	public static void input()throws Exception{
		StringTokenizer data=new StringTokenizer(br.readLine());
		
		a=Integer.parseInt( data.nextToken() );
		b=Integer.parseInt( data.nextToken() );
		count=0;
	}
	
	public static void work(){
		for (int i=a;i<=b;i++){
			StringBuffer sbuf=new StringBuffer(String.valueOf(i));
			
			int create;
			do{
				sbuf.append(sbuf.charAt(0));
				sbuf.deleteCharAt(0);
				create=Integer.parseInt( sbuf.toString() );
				
				if (create>i & create<=b)
					count++;
				
			}while(create!=i);
		}
	}
}