import java.util.HashSet;
import java.util.Scanner;

public class C {

	static HashSet p = new HashSet();
	static int low;
	static int high;
	int count = 0;

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int no = sc.nextInt();

		for (int i = 1; i <= no; i++) {

			p.clear();
			low = sc.nextInt();
			high = sc.nextInt();

			for (int l = low; l <= high; l++) {
				recycle(l);
			}
			System.out.println("Case #" + i + ": " + p.size());

		}
	}

	public static void recycle(int no) {

		String s = Integer.toString(no);
		for (int i = 0; i < s.length(); i++) {
			String rec = s.substring(i) + s.substring(0, i);
			int r = Integer.parseInt(rec);
			if (r != no && r >= low && r <= high) {
				int min = Math.min(r, no);
				int max = Math.max(r, no);
				String a = Integer.toString(min) + "" + Integer.toString(max);
				p.add(a);

			}
		}

	}
}

/**
 * Copyright 2012 Christopher Schmitz. All Rights Reserved.
 */

package com.isotopeent.codejam.lib.converters;

import com.isotopeent.codejam.lib.InputConverter;
import com.isotopeent.codejam.lib.Utils;

public class IntArrayLine implements InputConverter<int[]> {

	private int length;
	private int[] input;
	private int[] inputBuffer;

	/**
	 * fixed length arrays
	 */
	public IntArrayLine(int length) {
		this.length = length;
	}

	/**
	 * dynamic length arrays
	 */
	public IntArrayLine(int[] buffer) {
		inputBuffer = buffer;
	}

	@Override
	public boolean readLine(String data) {
		if (length > 0) {
			input = new int[length];
			input = Utils.convertToIntArray(data, length);
		} else {
			int count = Utils.convertToIntArray(data, inputBuffer);
			input = new int[count];
			System.arraycopy(inputBuffer, 0, input, 0, count);
		}
		return false;
	}

	@Override
	public int[] generateObject() {
		return input;
	}

}
