#include <iostream>
#include <vector>
#include <cstring>
#include <algorithm>
#define int long long
using namespace std;
vector<int> num;
int a, b, k;
int dp[12][90][90][2];
int go(int pos, int val, int sum, int f) {
if (pos == num.size()) {
if (sum == 0 and val == 0)
return 1;
return 0;
}
int &res = dp[pos][val][sum][f];
if (res != -1)
return res;
res = 0;
int LMT;
if (f == 0)
LMT = num[pos];
else
LMT = 9;
for (int dgt = 0; dgt <= LMT; dgt++) {
int nf = f;
if (f == 0 and dgt < LMT)nf = 1;
res += go(pos + 1, (val * 10 + dgt) % k, (sum + dgt) % k, nf);
}
return res;
}
int solve(int a) {
num.clear();
while (a > 0)
num.push_back(a % 10), a /= 10;
reverse(num.begin(), num.end());
memset(dp, -1, sizeof dp);
return go(0, 0, 0, 0);
}
int32_t main() {
int t;
cin >> t;
for (int i = 1; i <= t; i++) {
cin >> a >> b >> k;
int ans;
if (k > 83)
ans = 0;
else ans = solve(b) - solve(a - 1);
cout << "Case " << i << ": " << ans << endl;
}
return 0;
}