import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class Recycled {
	public static void main(String[] args) throws Exception{
		String inputFile = "C-small-attempt0.in";
		
		BufferedReader input = new BufferedReader(new InputStreamReader(new FileInputStream(inputFile)));
		BufferedWriter output = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("output")));
		long num_cases = Long.parseLong(input.readLine());
		int current_case = 0;
		
		while (current_case < num_cases){
			current_case++;
			
			String[] fields = input.readLine().split(" ");
			int A = Integer.parseInt(fields[0]);
			int B = Integer.parseInt(fields[1]);
			int total = 0;
			
			for (int n = A; n < B; n++){
				for (int m = n+1; m <= B; m++){
					if (isRecycled(n,m)) total++;
				}
			}
			
			System.out.println("Case #" + current_case + ": " + total);
			output.write("Case #" + current_case + ": " + total + "\n");
		}
		output.close();
	}

	private static boolean isRecycled(int n, int m) {
		String sn = ""+n;
		String sm = ""+m;
		if (sn.length() != sm.length()) return false;
		int totaln = 0, totalm = 0;
		for (int i = 0; i < sn.length(); i++){
			totaln += sn.charAt(i);
			totalm += sm.charAt(i);
		}
		if (totaln != totalm) return false;
		for (int i = 0; i < sn.length()-1; i++){
			sm = sm.charAt(sm.length() - 1) + sm.substring(0, sm.length() - 1);
			if (sm.equals(sn)) return true;
		}
		return false;
	}
}

import java.io.BufferedReader;
import java.io.IOException;
import java.io.FileReader;
import java.io.FileOutputStream;
import java.io.PrintStream;
import java.util.StringTokenizer;

public class TestJAM
{
	public static void main (String[] args)
	{
/*		String nStr1 = "12";
		int numswindex1 = ;
		String nsw1 = nStr1.substring (numswindex1) + nStr1.substring (0, numswindex1);		
		System.out.println (nStr1.substring (numswindex1));
		System.out.println (nStr1.substring (0, numswindex1));
		System.out.println (nsw1);
		if (1==1) return;
*/		
		BufferedReader br = null;
		PrintStream ps = null;
		
		try
		{
			int a;
			int b; 
			int t;
			int count;
			String nStr;
			String mStr;
			String nsw;
			String line;
			StringTokenizer st;
			
			br = new BufferedReader (new FileReader ("C-small-attempt0.in"));
			ps = new PrintStream (new FileOutputStream ("C-small-attempt0.out"));
						
			line = br.readLine ();
			t = Integer.parseInt (line);
			
			for (int testCase = 0; testCase < t; testCase++)
			{
				count = 0;
				line = br.readLine ();
				st = new StringTokenizer (line);
				a = Integer.parseInt (st.nextToken ());
				b = Integer.parseInt (st.nextToken ());
				
				for (int n = a; n <= b; n++)
				{
					for (int m = n + 1; m <= b; m++)
					{
						nStr = String.valueOf (n);
						mStr = String.valueOf (m);
						
						int nlen = nStr.length ();
						int mlen = mStr.length ();

						if (nlen == mlen)
						{
							for (int numswindex = 0; numswindex < nlen; numswindex++)
							{
								nsw = nStr.substring (numswindex) + nStr.substring (0, numswindex);
								if (nsw.equalsIgnoreCase (mStr))
								{
									count++;
									break;
								}
							}
						}
						else if (nlen > mlen)
						{
							break;
						}
					}
				}
				
				ps.println ("Case #" + (testCase + 1) + ": " + count);

//				System.out.println (count);
			}
						

//			ps.println ("test1 test1 test1");
			
//			System.out.println ("Hola Mundo!!!");			
		}
		catch (IOException ioe)
		{
			ioe.printStackTrace ();
		}
		catch (NumberFormatException nfe)
		{
			nfe.printStackTrace ();
		}
		finally
		{
			if (ps != null)
			{
				ps.close ();
			}
			if (br != null)
			{
				try
				{
					br.close ();					
				}
				catch (IOException ioe)
				{
					ioe.printStackTrace ();
				}
			}
		}
	}	
}




