package fixjava;

public class StringUtils {

	/** Repeat the given string the requested number of times. */
	public static String repeat(String str, int numTimes) {
		StringBuilder buf = new StringBuilder(Math.max(0, str.length() * numTimes));
		for (int i = 0; i < numTimes; i++)
			buf.append(str);
		return buf.toString();
	}

	/**
	 * Pad the left hand side of a field with the given character. Always adds at least one pad character. If the length of str is
	 * greater than numPlaces-1, then the output string will be longer than numPlaces.
	 */
	public static String padLeft(String str, char padChar, int numPlaces) {
		int bufSize = Math.max(numPlaces, str.length() + 1);
		StringBuilder buf = new StringBuilder(Math.max(numPlaces, str.length() + 1));
		buf.append(padChar);
		for (int i = 1, mi = bufSize - str.length(); i < mi; i++)
			buf.append(padChar);
		buf.append(str);
		return buf.toString();
	}

	/**
	 * Pad the right hand side of a field with the given character. Always adds at least one pad character. If the length of str is
	 * greater than numPlaces-1, then the output string will be longer than numPlaces.
	 */
	public static String padRight(String str, char padChar, int numPlaces) {
		int bufSize = Math.max(numPlaces, str.length() + 1);
		StringBuilder buf = new StringBuilder(Math.max(numPlaces, str.length() + 1));
		buf.append(str);
		buf.append(padChar);
		while (buf.length() < bufSize)
			buf.append(padChar);
		return buf.toString();
	}

	/** Intern all strings in an array, skipping null elements. */
	public static String[] intern(String[] arr) {
		for (int i = 0; i < arr.length; i++)
			arr[i] = arr[i].intern();
		return arr;
	}

	/** Intern a string, ignoring null */
	public static String intern(String str) {
		return str == null ? null : str.intern();
	}

}

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

/**
 *
 * @author Madu
 */
import java.io.*;

public class Ex3 {

    
    int m_000000(){
    
    
        
        return 0;
    }
    
    
    public static void main(String[] args) {

        try {

            FileInputStream fstream = new FileInputStream("C:/Users/Madu/Documents/NetBeansProjects/CodeJamR1Ex1/input/A-small-attempt0.in");
            FileOutputStream fout = new FileOutputStream("C:/Users/Madu/Documents/NetBeansProjects/CodeJamR1Ex1/output/out.txt");
            PrintStream printStream = new PrintStream(fout);
            // Get the object of DataInputStream
            DataInputStream in = new DataInputStream(fstream);
            BufferedReader br = new BufferedReader(new InputStreamReader(in));
            String inputIlne;
            br.readLine();
            //printStream.println ("Output");
            //Read File Line By Line
            int lineNum = 1;
            while ((inputIlne = br.readLine()) != null) {
                // Print the content on the console

                //##########

                String[] AandB = inputIlne.split(" ");
                int A = Integer.parseInt(AandB[0]);
                int B = Integer.parseInt(AandB[1]);
                int ans = 0;

                int num = A;
                System.out.println(B);
                while (num <= B) {


                    if (num < 10) {                       
                        num++;
                        
                    } else if (num < 100) {
                        
                        int xo = num/10;
                        int recycle1 = (num % 10) * 10 + xo;
                        if (A <= num && num < recycle1 && recycle1 <= B) {
                            ans++;
                        }
                        num++;
                        
                    } else if (num < 1000) {


                        int xoo = num / 100;
                        int recycle1 = (num % 100) * 10 + xoo;
                        if (A <= num && num < recycle1 && recycle1 <= B) {
                            ans++;
                        }

                        int xxo = num / 10;
                        int recycle2 = (num % 10) * 100 + xxo;
                        if (A <= num && num < recycle2 && recycle2 <= B) {
                            ans++;
                        }

                        num++;

                    } else if(num < 10000){
                    
                        int m = 0;//using for avoid 1212 
                        
                        int xooo = num / 1000;
                        int recycle3 = (num % 1000) * 10 + xooo;
                        if (A <= num & num < recycle3 & recycle3 <= B) {
                            m = recycle3;
                            ans++;
                        }

                        int xxoo = num / 100;
                        int recycle1 = (num % 100) * 100 + xxoo;
                        if (A <= num & num < recycle1 & recycle1 <= B&recycle1!=m) {
                            m = recycle1;
                            ans++;
                        }

                        int xxxo = num / 10;
                        int recycle2 = (num % 10) * 1000 + xxxo;
                        if (A <= num & num < recycle2 & recycle2 <= B & recycle2!=m) {
                            m =recycle2;
                            ans++;
                        }

                        num++;                        
                    
                    } else if(num < 100000){
                    
                       int m = 0;
                        
                        int xoooo = num / 10000;
                        int recycle3 = (num % 1000) * 10 + xoooo;
                        if (A <= num & num < recycle3 & recycle3 <= B) {
                            m = recycle3;
                            ans++;
                        }
                        int xxooo = num / 1000;
                        int recycle1 = (num % 1000) * 100 + xxooo;
                        if (A <= num & num < recycle1 & recycle1 <= B&recycle1!=m) {
                            m = recycle1;
                            ans++;
                        }
                        int xxxoo = num / 100;
                        int recycle2 = (num % 100) * 1000 + xxxoo;
                        if (A <= num & num < recycle2 & recycle2 <= B&recycle2!=m) {
                            m = recycle2;
                            ans++;
                        }
                        int xxxxo = num / 10;
                        int recycle4 = (num % 10) * 10000 + xxxxo;
                        if (A <= num & num < recycle4 & recycle4 <= B&recycle4!=m) {
                            m = recycle4;
                            ans++;
                        }
                    
                        num++;
                        
                    }else if(num < 1000000){
                    
                    int m = 0;
                        
                        int xoooo1 = num / 100000;
                        int recycle33 = (num % 10000) * 10 + xoooo1;
                        if (A <= num & num < recycle33 & recycle33 <= B) {
                            m = recycle33;
                            ans++;
                        }
                    
                        int xoooo = num / 10000;
                        int recycle3 = (num % 1000) * 100 + xoooo;
                        if (A <= num & num < recycle3 & recycle3 <= B&recycle3!=m) {
                            m = recycle3;
                            ans++;
                        }
                        int xxooo = num / 1000;
                        int recycle1 = (num % 1000) * 1000 + xxooo;
                        if (A <= num & num < recycle1 & recycle1 <= B&recycle1!=m) {
                            m = recycle1;
                            ans++;
                        }
                        int xxxoo = num / 100;
                        int recycle2 = (num % 100) * 10000 + xxxoo;
                        if (A <= num & num < recycle2 & recycle2 <= B&recycle2!=m) {
                            m = recycle2;
                            ans++;
                        }
                        int xxxxo = num / 10;
                        int recycle4 = (num % 10) * 100000 + xxxxo;
                        if (A <= num & num < recycle4 & recycle4 <= B&recycle4!=m) {
                            m = recycle4;
                            ans++;
                        }
                    
                        num++;
                        
                    }else if(num < 10000000){
                    
                    int m = 0;
                        
                    int xoooo11 = num / 1000000;
                        int recycle333 = (num % 100000) * 10 + xoooo11;
                        if (A <= num & num < recycle333 & recycle333 <= B) {
                            m = recycle333;
                            ans++;
                        }
                    
                        int xoooo1 = num / 100000;
                        int recycle33 = (num % 10000) * 100 + xoooo1;
                        if (A <= num & num < recycle33 & recycle33 <= B&recycle33!=m) {
                            m = recycle33;
                            ans++;
                        }
                    
                        int xoooo = num / 10000;
                        int recycle3 = (num % 1000) * 1000 + xoooo;
                        if (A <= num & num < recycle3 & recycle3 <= B&recycle3!=m) {
                            m = recycle3;
                            ans++;
                        }
                        int xxooo = num / 1000;
                        int recycle1 = (num % 1000) * 10000 + xxooo;
                        if (A <= num & num < recycle1 & recycle1 <= B&recycle1!=m) {
                            m = recycle1;
                            ans++;
                        }
                        int xxxoo = num / 100;
                        int recycle2 = (num % 100) * 100000 + xxxoo;
                        if (A <= num & num < recycle2 & recycle2 <= B&recycle2!=m) {
                            m = recycle2;
                            ans++;
                        }
                        int xxxxo = num / 10;
                        int recycle4 = (num % 10) * 1000000 + xxxxo;
                        if (A <= num & num < recycle4 & recycle4 <= B&recycle4!=m) {
                            m = recycle4;
                            ans++;
                        }
                    
                        num++;
                    }

                } //System.out.println(ans);
                    printStream.print("Case #" + lineNum + ": " + ans);
                    lineNum++;
                    printStream.println("");
                
            }


        } catch (Exception e) {
            System.out.println(e.toString());
        }



//        else if(test.length()==4){
//        
//            ans=0;
//            A = Integer.parseInt(test);
//            
//            int num =A;
//            while(num<=B){
//                
//             if(num==1212){num++;continue;}   
//             
//            int xooo = num/1000;    
//            int recycle3 = (num%1000)*10+xooo;
//            if(A<=num&&num<recycle3&&recycle3<=B){
//                ans++;
//            }   
//            
//            int xxoo = num/100;
//            int recycle1 = (num%100)*100+xxoo;
//            if(A<=num&&num<recycle1&&recycle1<=B){
//                ans++;
//            }
//            
//            int xxxo = num/10;
//            int recycle2 = (num%10)*1000+xxxo;
//            if(A<=num&&num<recycle2&&recycle2<=B){
//                ans++;
//            }            
//            
//            num++;
//            
//            }        
//            
//            System.out.println(ans);
//        
//        }

    }
}
