package jp.funnything.competition.util;

import java.math.BigInteger;

/**
 * Utility for BigInteger
 */
public class BI {
    public static BigInteger ZERO = BigInteger.ZERO;
    public static BigInteger ONE = BigInteger.ONE;

    public static BigInteger add( final BigInteger x , final BigInteger y ) {
        return x.add( y );
    }

    public static BigInteger add( final BigInteger x , final long y ) {
        return add( x , v( y ) );
    }

    public static BigInteger add( final long x , final BigInteger y ) {
        return add( v( x ) , y );
    }

    public static int cmp( final BigInteger x , final BigInteger y ) {
        return x.compareTo( y );
    }

    public static int cmp( final BigInteger x , final long y ) {
        return cmp( x , v( y ) );
    }

    public static int cmp( final long x , final BigInteger y ) {
        return cmp( v( x ) , y );
    }

    public static BigInteger div( final BigInteger x , final BigInteger y ) {
        return x.divide( y );
    }

    public static BigInteger div( final BigInteger x , final long y ) {
        return div( x , v( y ) );
    }

    public static BigInteger div( final long x , final BigInteger y ) {
        return div( v( x ) , y );
    }

    public static BigInteger mod( final BigInteger x , final BigInteger y ) {
        return x.mod( y );
    }

    public static BigInteger mod( final BigInteger x , final long y ) {
        return mod( x , v( y ) );
    }

    public static BigInteger mod( final long x , final BigInteger y ) {
        return mod( v( x ) , y );
    }

    public static BigInteger mul( final BigInteger x , final BigInteger y ) {
        return x.multiply( y );
    }

    public static BigInteger mul( final BigInteger x , final long y ) {
        return mul( x , v( y ) );
    }

    public static BigInteger mul( final long x , final BigInteger y ) {
        return mul( v( x ) , y );
    }

    public static BigInteger sub( final BigInteger x , final BigInteger y ) {
        return x.subtract( y );
    }

    public static BigInteger sub( final BigInteger x , final long y ) {
        return sub( x , v( y ) );
    }

    public static BigInteger sub( final long x , final BigInteger y ) {
        return sub( v( x ) , y );
    }

    public static BigInteger v( final long value ) {
        return BigInteger.valueOf( value );
    }
}

import java.util.*;
import static java.lang.Math.*;
import java.io.*;

public class C {
		
public static void main(String[] args) throws IOException {
  BufferedReader in = new BufferedReader(new FileReader("C:/Users/Disha/Desktop/codejam/C-small.in"));
  FileWriter fw = new FileWriter("C:/Users/Disha/Desktop/codejam/C-small.out");
  /*BufferedReader in = new BufferedReader(new FileReader("C:/Users/Disha/Desktop/codejam/C-large.in"));
  FileWriter fw = new FileWriter("C:/Users/Disha/Desktop/codejam/C-large.out");*/

  int N = new Integer (in.readLine());
  int count = 0;
  for (int cases = 1; cases <= N; cases++) {
	  count = 0;
	  String[] ss = in.readLine().split(" ");
	  int a = Integer.parseInt(ss[0]);
	  int b = Integer.parseInt(ss[1]);
      for (int here = a; here <= b; here++) {
		  int len = Integer.toString(here).length();   	  
		  int len2 = (int) (Math.pow(10, (len-1)));
    	  int num2 = 0;    	  
    	  int num1 = here;
    	  for(int i=0; i<= (len - 1) ; i++){
    		  num2 = (10 * (num1 % len2)) + (num1 / len2);
    		  while(Integer.toString(num2).length() < len){
    			  num2 = num2*10;
    			  i++;
    		  }
    		  
    		  if (num2 == here){
    			  break;
    		  }
    		  if ((num2 <= b) && (num2 > here)){
    		  count ++;
    		  }
    		  num1 = num2;
    	  }
      }
    	  fw.write ("Case #" + cases + ": " + count + "\n" );
      }
  fw.flush();
  fw.close();
  }}
