package codejam;

import java.util.*;
import java.io.*;

public class RecycledNumbers {
	public static void main(String[] args) throws IOException {
		BufferedReader in = new BufferedReader(new FileReader("in.txt"));
		PrintWriter out = new PrintWriter(new File("out.txt"));
		
		int T = Integer.parseInt(in.readLine());
		for (int t = 1; t <= T; ++t) {
			String[] parts = in.readLine().split("[ ]+");
			int A = Integer.parseInt(parts[0]);
			int B = Integer.parseInt(parts[1]);
			
			int cnt = 0;
			for (int i = A; i < B; ++i) {
				String str = String.valueOf(i);
				int n = str.length();
				String res = "";
				Set<Integer> seen = new HashSet<Integer>();
				for (int j = n - 1; j > 0; --j) {
					res = str.substring(j) + str.substring(0, j);
					int k = Integer.parseInt(res);
					if (k > i && k <= B) {
						//System.out.println("(" + i + ", " + k + ")");
						if (!seen.contains(k)) {
							++cnt;
							seen.add(k);
						}
					}
				}
			}

			out.println("Case #" + t + ": " + cnt);
		}
		
		in.close();
		out.close();
		System.exit(0);
	}
}

import java.io.*;
import java.util.*;

public class Main implements Runnable {
  Scanner in = new Scanner(System.in);
  HashMap map;
  long[] cnt = new long[2000000];
  
  public Integer[] findPartner(int n) {
    ArrayList<Integer> arr = new ArrayList<Integer>();
    String num = String.valueOf(n);
    for (int i = 1; i < num.length(); i++) {
      String s = num.substring(i);
      s += num.substring(0, i);
      arr.add(Integer.parseInt(s));
    }
    return (Integer[]) arr.toArray(new Integer[arr.size()]);
  }
  
  public void run() {
    int a, b, c, t = in.nextInt();
    long ans;
    
    for (int i = 1; i <= t; i++) {
      a = in.nextInt();
      b = in.nextInt();
      c = 0;
      
      Arrays.fill(cnt, 0);
      map = new HashMap();
      
      for (int j = a; j <= b; j++) {
        if (!map.containsKey(j)) {
          c++;
          Integer[] arr = findPartner(j);
          map.put(j, c);
          for (int k = 0; k < arr.length; k++)
            if (arr[k] >= a && arr[k] <= b)
              map.put(arr[k], c);
        }
      }
      
      for (int j = a; j <= b; j++)
        cnt[(Integer)map.get(j)]++;
      
      ans = 0l;
      for (int j = 1; j <= c; j++)
        ans += (cnt[j] - 1l) * cnt[j] / 2;
      
      System.out.println("Case #" + i + ": " + ans);
    }
  }
  
  public static void main(String[] args) {
    new Thread(new Main()).start();
  }
}