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 );
    }
}

package ejera;

import java.io.*;
import java.util.*;

public class Main {

    public static void main(String[] args) throws IOException{
        String Lista1="abcdefghijklmnopqrstuvwxyz";
        String Lista2="yhesocvxduiglbkrztnwjpfmaq";
        char[] SourceList=Lista1.toCharArray();
        Arrays.sort(SourceList);
        
        File f = new File( "e:/Input/C-small-attempt0.in" );
        BufferedReader entrada;
        entrada = new BufferedReader( new FileReader( f ) );
        int T = Integer.parseInt(entrada.readLine());

        for(int i=0;i<T;i++){
            String[] Datos=entrada.readLine().split(" ");
            int A=Integer.parseInt(Datos[0]);
            int B=Integer.parseInt(Datos[1]);
            int contador=0;

            Set listan=new HashSet();

            for(int n=A;n<=B;n++){
                int lenn=String.valueOf(n).length();
                for(int m=n+1;m<=B;m++){
                    if(lenn!=String.valueOf(m).length()) break;
                    
                    String Cadn=String.valueOf(n);
                    String Cadm=String.valueOf(m);

                    if(Cadn.length()!=Cadm.length()) continue;

                    for(int r=0;r<Cadn.length();r++){
                        String CadRes=Cadn.substring(r)+Cadn.substring(0,r);
                        if(Integer.parseInt(CadRes)==Integer.parseInt(Cadm)){
                            listan.add(Cadn+"/"+Cadm);
                            contador++;
                        }
                    }
                }
            }
            System.out.println("Case #"+(i+1)+": "+listan.size());
        }
    }

}
