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.*;
   import java.io.*;
   public class CodeJamQualC
   {
      public static void main(String[] args)
      {
         try{
            BufferedReader fin = new BufferedReader(new FileReader("input.txt"));
            FileWriter fstream = new FileWriter("output.txt");
            BufferedWriter out = new BufferedWriter(fstream); 
            Scanner src = new Scanner(fin);
            int j = 0;
            while (fin.ready()) {
               if( j > 1)
               {
                  out.write("\n");
               }
               String text = fin.readLine();
               Scanner scanner = new Scanner(text);
               int[] inputs = {0,0};
               int count = 0;
               while(scanner.hasNext())
               {
                  inputs[count] = scanner.nextInt();
                  count++;
               }
               if( j >0)
               {
               	
                  out.write("Case #" + j + ": " + numPairs(inputs[0],inputs[1]));
                  ;
               }
               j++;
            }
            out.close();
         }
            catch(FileNotFoundException e)
            {
               System.out.println("Error");
            }
            catch(IOException e)
            {
               System.out.println("Error");
            }
      
      }
   
   
      public static int numPairs(int input1, int input2)
      {
         int totalnum=0;
         int count = 0;
         
         if(input2 < input1)
            input2 = input1;
         ArrayList[] usedValues = new ArrayList[input2+1];
         for(int i = 0; i <= input2; i++)
         {
            usedValues[i] =  new ArrayList<Integer>();
         }
         int numDigits = (int)Math.floor(Math.log10((double)input1)+ 1);
         for(int i = input1; i <= input2; i++)
         {
         	
            int val = i;
            for(int j = 0; j < numDigits; j++)
            {
               int lastDigit = val % 10;
               val = val / 10;
               val += Math.pow(10,numDigits-1) * lastDigit;
               if(input1 <= val && input2 >= val && val != i && !usedValues[i].contains(val))
               {
                  usedValues[i].add(val);
                  usedValues[val].add(i);
                  count++;
               }
            } 
         }
         //System.out.println(totalnum);
         return count;
      }
   
   }