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.util.Scanner;

public class CodeC{
	public static void main(String[] args){
		Scanner sc=new Scanner(System.in);
		int tcase;
		int a, b;
		int numDigit;
		int num;
		
		tcase=sc.nextInt();
		for(int q=1;q<=tcase;q++){
			a=sc.nextInt();
			b=sc.nextInt();
			num=0;
			for(int i=a;i<=b;i++){
				numDigit=(i+"").length();
				int j=i+1;
				int limit=10*j;
				if(limit>b){
					limit=b;
				}
				//System.out.println("DIGIT "+numDigit+" LIMIT "+j+" - "+limit);
				for(;j<=limit;j++){
					String bil=i+"";
					for(int k=0;k<numDigit-1;k++){
						char kanan=bil.charAt(bil.length()-1);
						//System.out.println("AWAL "+bil+"\nKANAN "+kanan);
						bil=kanan+bil.substring(0,bil.length()-1);
						//System.out.println("UBAH "+bil);
						//System.out.println("A "+i+" B "+j+" "+bil.equals(j+""));
						if(bil.equals(j+"")){
							//System.out.println("A "+i+" B "+j);
							num++;
							break;
						}
					}
				}
			}
			System.out.println("Case #"+q+": "+num);
		}
	}
}