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

}

import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.Scanner;

public class Recycled_Num {

	public static void main(String[] args) {
		//long currentTime = System.currentTimeMillis();
		Scanner input_file = new Scanner(new InputStreamReader(System.in));
		String input_line = null;
		String[] numb_arr;
		int Case_Count = 0;
		int st_num = 0;
		int end_num = 0;
		int pair_count = 0;
		int digitCount = 0;
		StringBuilder recycle_number = new StringBuilder();
		int newNumber = 0;
		String newNumberString;
		HashSet<String> recycle_numbers = new HashSet<String>();
		while (input_file.hasNextLine()) {
			input_line = input_file.nextLine();
			numb_arr = input_line.split(" ");
			if(numb_arr != null && numb_arr.length == 1) {
				/*numberOfTestCases = Integer.parseInt(numb_arr[0]);*/
			} else if (numb_arr != null && numb_arr.length == 2) {
				digitCount = numb_arr[0].length();
				st_num = Integer.parseInt(numb_arr[0]);
				end_num = Integer.parseInt(numb_arr[1]);
				while(st_num <= end_num) {
					newNumberString = "" + st_num;
					for(int i = 1; i < digitCount; i++) {
						recycle_number = recycle_number.append(newNumberString.substring(i) + newNumberString.substring(0, i));
						newNumber = Integer.parseInt(recycle_number.toString());
						if(newNumber > st_num && newNumber <= end_num) {
							recycle_numbers.add(recycle_number.toString());
						}
						recycle_number.delete(0, digitCount);
					}
					pair_count = pair_count + recycle_numbers.size();
					st_num++;
					recycle_numbers.clear();
				}
				System.out.println("Case #" + Case_Count + ": " + pair_count);
			}
			Case_Count++;
			pair_count = 0;
			st_num = 0;
			end_num = 0;
			digitCount = 0;
			newNumber = 0;
			recycle_number.delete(0, digitCount);
		}
		//System.out.println(System.currentTimeMillis() - currentTime);
	}
}
