#include<bits/stdc++.h>
#define T int t;cin >>t;while(t--)
#define fast ios::sync_with_stdio(false); cin.tie(0); cout.tie(0)
#define ll long long
#define lll unsigned long long
using namespace std;
int n,m,x,y,mx=0;
vector<pair<int,int>>arr[150];
void DFS(int i,int j,char c,int cnt){
if (cnt>mx) mx=cnt;
for (auto I:arr[(int)c+1]){
int k = abs(I.first-i) , kk = abs(I.second-j);
if (k<=1&&kk<=1) DFS(I.first,I.second,c+1,cnt+1);
}
}
void Abady(){
int k=1;
while(cin >> n >> m){
if (n==0&&m==0) break;
for (int i=0;i<n;i++){
string s; cin >> s;
for (int j=0;j<m;j++){
int k = s[j];
arr[k].push_back({i,j});
}
}
for (auto I:arr[65]){
DFS(I.first,I.second,'A',1);
}
cout << "Case " << k++ << ": " << mx << endl;
mx=0;
for (int i='A';i<='Z';i++) arr[i].clear();
}
}
int main(){
fast;
Abady();
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBUIGludCB0O2NpbiA+PnQ7d2hpbGUodC0tKQojZGVmaW5lIGZhc3QgaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOyBjaW4udGllKDApOyBjb3V0LnRpZSgwKQojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIGxsbCB1bnNpZ25lZCBsb25nIGxvbmcKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IG4sbSx4LHksbXg9MDsKdmVjdG9yPHBhaXI8aW50LGludD4+YXJyWzE1MF07CnZvaWQgREZTKGludCBpLGludCBqLGNoYXIgYyxpbnQgY250KXsKICAgIGlmIChjbnQ+bXgpIG14PWNudDsKICAgIGZvciAoYXV0byBJOmFyclsoaW50KWMrMV0pewogICAgICAgIGludCBrID0gYWJzKEkuZmlyc3QtaSkgLCBrayA9IGFicyhJLnNlY29uZC1qKTsKICAgICAgICBpZiAoazw9MSYma2s8PTEpIERGUyhJLmZpcnN0LEkuc2Vjb25kLGMrMSxjbnQrMSk7CiAgICB9Cn0Kdm9pZCBBYmFkeSgpewogICAgaW50IGs9MTsKICAgIHdoaWxlKGNpbiA+PiBuID4+IG0pewogICAgICAgIGlmIChuPT0wJiZtPT0wKSBicmVhazsKICAgICAgICBmb3IgKGludCBpPTA7aTxuO2krKyl7CiAgICAgICAgICAgIHN0cmluZyBzOyBjaW4gPj4gczsKICAgICAgICAgICAgZm9yIChpbnQgaj0wO2o8bTtqKyspewogICAgICAgICAgICAgICAgaW50IGsgPSBzW2pdOwogICAgICAgICAgICAgICAgYXJyW2tdLnB1c2hfYmFjayh7aSxqfSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZm9yIChhdXRvIEk6YXJyWzY1XSl7CiAgICAgICAgICAgIERGUyhJLmZpcnN0LEkuc2Vjb25kLCdBJywxKTsKICAgICAgICB9CiAgICAgICAgY291dCA8PCAiQ2FzZSAiIDw8IGsrKyA8PCAiOiAiIDw8IG14IDw8IGVuZGw7CiAgICAgICAgbXg9MDsKICAgICAgICBmb3IgKGludCBpPSdBJztpPD0nWic7aSsrKSBhcnJbaV0uY2xlYXIoKTsKICAgIH0KfQppbnQgbWFpbigpewogICAgZmFzdDsKICAgIEFiYWR5KCk7Cn0K