#include <bits/stdc++.h>

using namespace std;

short n, k, a[10], b[10];
int dp[10][2][2][2][11][11];
//
int call(short pos, bool c, bool c2, bool lead, short last, short total) {
    if (pos == n) return total == k;
    
    int &ans = dp[pos][c][c2][lead][last + 1][total];
	if (ans != -1) return ans;
    ans = 0;
    
    short l = a[pos], r = b[pos];
    if (c) r = 9;
    if (c2) l = 0;

    for(short dg = l; dg <= r; ++dg) {
        ans += call(pos + 1, (c || dg < r), (c2 || dg > l), (lead || dg), last, total);
        if (!lead && dg == 0) continue;
        if (dg > last) ans += call(pos + 1, (c || dg < r), (c2 || dg > l), (lead || dg), dg, total + 1);
    }
    return ans;
}
//
void solve() {
    string s1, s2;
    cin >> s1 >> s2;
    while(s1.size() < s2.size()) s1 = '0' + s1;
    n = s1.size();

    for(short i = 0; i < n; ++i) a[i] = s1[i] - '0';
    for(short i = 0; i < n; ++i) b[i] = s2[i] - '0';

    int ans = 0;
    for(k = 1; k <= 10; ++k) {
        memset(dp, -1, sizeof dp);
        int t = call(0, 0, 0, 0, -1, 0);
        if (t == 0) {
            --k; break;
        }
        ans = t;
    }
    cout << k << ' ' << ans << '\n';
}
//
signed main() {
    ios_base::sync_with_stdio(0); cin.tie(0);
    int t;
    cin >> t;
    for(int i = 1; i <= t; ++i) {
        cout << "Case " << i << ": ";
        solve();
    }
    return 0;
}
