/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package recyclednumbers;

import java.util.HashSet;

/**
 *
 * @author vandit
 */
public class RecycleNumbers {

    private HashSet<String> numbers = new HashSet<String>();
    private HashSet<String> initialTempNumbers = new HashSet<String>();
    private HashSet<String> finalTempNumbers = new HashSet<String>();

    HashSet<Pair> numberPairs = new HashSet<Pair>();


    private void findRecycledNumbers(int start, int end, int places) {


        for (int i = start; i <= end; i++) {
            String initialNumber = Integer.toString(i);
            //if (!(numbers.contains(initialNumber) || finalTempNumbers.contains(initialNumber))) {

                StringBuffer tempNumber = new StringBuffer(initialNumber);
                int len = tempNumber.length();
                int startIndexToMove = len - places;
                String tempString = tempNumber.substring(startIndexToMove);
                if ((places == 1 && tempString.equals("0")) || tempString.charAt(0) == '0') {
                    continue;
                }
                tempNumber.delete(startIndexToMove, len);
                String finalTempNumber = tempString + tempNumber.toString();

                if (! (finalTempNumber.equals(initialNumber) || Integer.parseInt(finalTempNumber) > end || Integer.parseInt(finalTempNumber) < Integer.parseInt(initialNumber))) {
                    numbers.add(initialNumber);
                    finalTempNumbers.add(finalTempNumber);
                    Pair pair = new Pair(finalTempNumber,initialNumber);
                    numberPairs.add(pair);
                }
            }

        

    }

    public HashSet<Pair> findAllRecycledNumbers(int start, int end) {
        int length = Integer.toString(start).length();
        for (int i = 1; i < length; i++) {
            findRecycledNumbers(start, end, i);
        }
        return numberPairs;
    }
}

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package probc;

import java.io.*;
import java.util.Scanner;
import javax.swing.JOptionPane;

/**
 *
 * @author nick
 */
public class ProbC {

    public static int numLines = 0;
    public static String[] dataLine;
    public static String[] outLine;

    public static void main(String[] args) throws UnsupportedEncodingException, IOException {

        // input

        //JOptionPane.showMessageDialog(null, "This program provides a decrypter for Google's third CodeJam question: Recycled Numbers.");

        getInput();

        decode();

        writeOutput();

    }

    private static void getInput() throws FileNotFoundException {
        Scanner scanner = new Scanner(new FileInputStream("input.txt"));
        try {
            numLines = Integer.parseInt(scanner.nextLine());
            dataLine = new String[numLines];
            outLine = new String[numLines];
            for (int i = 0; i < numLines; i++) {
                dataLine[i] = scanner.nextLine();
            }
        } finally {
            scanner.close();
        }
    }

    private static void writeOutput() throws UnsupportedEncodingException, FileNotFoundException, IOException {
        Writer out = new OutputStreamWriter(new FileOutputStream("output.txt"));
        try {
            String outText = "";
            for (int i = 0; i < numLines; i++) {
                outText = outText + outLine[i] + "\n";
            }
            out.write(outText);
        } finally {
            out.close();
        }
    }

    private static void decode() {

        for (int i = 0; i < numLines; i++) {


            Scanner sc = new Scanner(dataLine[i]);
            String numOneString = sc.next();
            String numTwoString = sc.next();
            sc.close();
            int numOneInt = Integer.parseInt(numOneString);
            int numTwoInt = Integer.parseInt(numTwoString);
            int length = numOneString.length();
            int setLength = numTwoInt - numOneInt;
            String tempString = "";
            int tempInt = 0;

            int answer = 0;

            int[] answers = new int[numTwoInt];


            tempInt = numOneInt;


            for (int ii = 0; ii < setLength; ii++) {

                tempString = "" + tempInt;


                for (int iii = 0; iii < length; iii++) {


                    tempString = tempString.substring(1) + tempString.charAt(0);


                    if (Integer.parseInt(tempString) >= tempInt & Integer.parseInt(tempString) <= numTwoInt) {
                        if (Integer.parseInt(tempString) != tempInt) {
                            
                            answer++;

                        }
                    }
                }

                tempInt++;
            }

            outLine[i] = "Case #" + (i + 1) + ": " + answer;

        }

    }
}
