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.ArrayList;
import java.util.LinkedList;



public class RecycledNumbers {
	public static void solve(String fname) {
		Read r = new Read();
		r.Read(fname);
int numOfTestCases=r.noOfTestCases;
int[] numbers =  r.nums;
String finalAnser="";
for(int i=0;i<numOfTestCases;i++){
	String answer="";
	int firstNum = numbers[2*i];
	int secondNum = numbers[2*i+1];
	int mid = ((secondNum-firstNum)/2)+1;
	int noOfans=0;
	for (int j = firstNum; j < secondNum; j++) {
		String numb = j+"";
//		/LinkedList<Integer> number = new LinkedList<Integer>();	
for (int k = 0; k < numb.length(); k++) {
	String first =  numb.substring(0,k);
	String last =  numb.substring(k,numb.length());
String newNumb = last+first;
int numbC = Integer.parseInt(newNumb);
if((numbC<=secondNum)&&(numbC>j)){
	noOfans++;
}

}

	
		int x=0;
//		int k=0;
//		while(!number.isEmpty()){
//			x=(int) (x+number.removeLast()*Math.pow(10, k));
//			k++;
//		}
		
		
	}
	answer = "Case #"+(i+1)+": "+noOfans;
	finalAnser = finalAnser+answer+"\n";
	
}
r.write("out", finalAnser);
System.out.println(finalAnser);	
	}
	public static void main(String[] args) {
		
	solve("test");
	}
}
