package jp.funnything.competition.util;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.math.BigDecimal;
import java.math.BigInteger;

import org.apache.commons.io.IOUtils;

public class QuestionReader {
    private final BufferedReader _reader;

    public QuestionReader( final File input ) {
        try {
            _reader = new BufferedReader( new FileReader( input ) );
        } catch ( final FileNotFoundException e ) {
            throw new RuntimeException( e );
        }
    }

    public void close() {
        IOUtils.closeQuietly( _reader );
    }

    public String read() {
        try {
            return _reader.readLine();
        } catch ( final IOException e ) {
            throw new RuntimeException( e );
        }
    }

    public BigDecimal[] readBigDecimals() {
        return readBigDecimals( " " );
    }

    public BigDecimal[] readBigDecimals( final String separator ) {
        final String[] tokens = readTokens( separator );

        final BigDecimal[] values = new BigDecimal[ tokens.length ];
        for ( int index = 0 ; index < tokens.length ; index++ ) {
            values[ index ] = new BigDecimal( tokens[ index ] );
        }

        return values;
    }

    public BigInteger[] readBigInts() {
        return readBigInts( " " );
    }

    public BigInteger[] readBigInts( final String separator ) {
        final String[] tokens = readTokens( separator );

        final BigInteger[] values = new BigInteger[ tokens.length ];
        for ( int index = 0 ; index < tokens.length ; index++ ) {
            values[ index ] = new BigInteger( tokens[ index ] );
        }

        return values;
    }

    public int readInt() {
        final int[] values = readInts();

        if ( values.length != 1 ) {
            throw new IllegalStateException( "Try to read single interger, but the line contains zero or multiple values" );
        }

        return values[ 0 ];
    }

    public int[] readInts() {
        return readInts( " " );
    }

    public int[] readInts( final String separator ) {
        final String[] tokens = readTokens( separator );

        final int[] values = new int[ tokens.length ];
        for ( int index = 0 ; index < tokens.length ; index++ ) {
            values[ index ] = Integer.parseInt( tokens[ index ] );
        }

        return values;
    }

    public long readLong() {
        final long[] values = readLongs();

        if ( values.length != 1 ) {
            throw new IllegalStateException( "Try to read single interger, but the line contains zero or multiple values" );
        }

        return values[ 0 ];
    }

    public long[] readLongs() {
        return readLongs( " " );
    }

    public long[] readLongs( final String separator ) {
        final String[] tokens = readTokens( separator );

        final long[] values = new long[ tokens.length ];
        for ( int index = 0 ; index < tokens.length ; index++ ) {
            values[ index ] = Long.parseLong( tokens[ index ] );
        }

        return values;
    }

    public String[] readTokens() {
        return readTokens( " " );
    }

    public String[] readTokens( final String separator ) {
        return read().split( separator );
    }
}

import java.io.*;
import java.lang.*;
import java.lang.StringBuilder;
import java.util.Arrays;
import java.lang.Integer;
//import org.apache.commons.lang.ArrayUtils;

class Recycle 
{

 public static void circularShiftLeft(char[] arr) {
        if (arr.length == 0)
            return;

        char first = arr[0];
        System.arraycopy(arr, 1, arr, 0, arr.length - 1);
        arr[arr.length - 1] = first;
		
		
    }
	
	
 public static void main(String args[])
 {
 
		/*int[] arr = { 1, 2, 3, 4 };
        System.out.println(Arrays.toString(arr));
        circularShiftLeft(arr);
        System.out.println(Arrays.toString(arr));*/
	try
  {	
  String[] toCompare;
  
  FileWriter ostream = new FileWriter("C-small-attempt0.out");
  BufferedWriter out = new BufferedWriter(ostream);
  
  FileInputStream fstream = new FileInputStream("C-small-attempt0.in");
  
  DataInputStream in = new DataInputStream(fstream);
  BufferedReader br = new BufferedReader(new InputStreamReader(in));
  String strLine;
  int count=0;
  int resultcounter = 0;
  //StringBuilder result = new StringBuilder();
  strLine = br.readLine();
  strLine = br.readLine();
  
  do{
		//toConvert = strLine.toCharArray();
		//toCompare="";
		
		StringBuilder result = new StringBuilder();
	count++;
	result.append("Case #"+count+": ");
	
		toCompare = strLine.split(" ");
		//System.out.println(toCompare.length);
	    resultcounter = 0;
		int n =  Integer.parseInt(toCompare[0]);
		int m =  Integer.parseInt(toCompare[1]);
		
		/*char [] n1 = toCompare[0].toCharArray();
		char [] m1 = toCompare[1].toCharArray();*/
		
		char [] n1;
		char [] m1; 
				//System.out.println(n+ " : "+Arrays.toString(n1));
			    //System.out.println(m+ " : "+Arrays.toString(m1));
				
		for(;n<m-1;n++)
		{
			int m2=m;
			for(;m2>n+1;m2--)
			{
					n1 = (new Integer(n)).toString().toCharArray();
					m1 = (new Integer(m2)).toString().toCharArray();
					
					for(int index=0; index<m1.length; index++)
					{
						String nn = new String(n1);
						String mm = new String(m1);
						//System.out.println("Compare : "+ nn + " -- "+mm);
						if(nn.equals(mm))
						{
								System.out.print(nn + " : " +mm+"\t");
								resultcounter++;
						}
						circularShiftLeft(n1);
					}					
					/*System.out.println("n,m : " + n + " : "+m2+ " : "+Arrays.toString(n1)+" Length: "+n1.length);
					circularShiftLeft(n1);
					System.out.println(Arrays.toString(n1));*/
			}
		}
		System.out.println("---------------------------------- " + resultcounter);
		//System.out.println("n - m" + n + m);
		
		
	result.append(resultcounter);
	out.write(result.toString());
	out.newLine();
 
  }while ((strLine = br.readLine()) != null);
out.close();
  in.close();
  }
  catch(Exception e)
  {
  System.err.println("Error: " + e.getMessage());
  }
  
}

}

