#include <bits/stdc++.h>
using namespace std;
#define ll int
#define f(i,n) for(ll i=0;i<n;i++)
ll n,m;ll mx=-1;
ll dp[60][60];ll f;
char a[60][60];
bool check(ll i,ll j)
{
if((i>=0&&i<n))if((j>=0&&j<m))return 1;
else return 0;
}
void fn(ll i,ll h)
{if(dp[i][h]==-2)return ;
ll j,l;
j=i-1;l=h;
if(check(j,l))if(a[j][l]==1+a[i][h])
{
dp[j][l]=max(dp[j][l],1+dp[i][h]);mx=max(mx,dp[j][l]);
if(dp[j][l]==1+dp[i][h])
fn(j,l);
}
j=i;l=h-1;
if(check(j,l))if(a[j][l]==1+a[i][h])
{
dp[j][l]=max(dp[j][l],1+dp[i][h]);mx=max(mx,dp[j][l]);
if(dp[j][l]==1+dp[i][h])fn(j,l);
}
j=i+1;l=h;
if(check(j,l))if(a[j][l]==1+a[i][h])
{
dp[j][l]=max(dp[j][l],1+dp[i][h]);mx=max(mx,dp[j][l]);
if(dp[j][l]==1+dp[i][h])fn(j,l);
}
j=i;l=h+1;
if(check(j,l))if(a[j][l]==1+a[i][h])
{
dp[j][l]=max(dp[j][l],1+dp[i][h]);mx=max(mx,dp[j][l]);
if(dp[j][l]==1+dp[i][h])fn(j,l);
}
j=i-1;l=h-1;
if(check(j,l))if(a[j][l]==1+a[i][h])
{
dp[j][l]=max(dp[j][l],1+dp[i][h]);mx=max(mx,dp[j][l]);
if(dp[j][l]==1+dp[i][h])fn(j,l);
}
j=i-1;l=h+1;
if(check(j,l))if(a[j][l]==1+a[i][h])
{
dp[j][l]=max(dp[j][l],1+dp[i][h]);mx=max(mx,dp[j][l]);
if(dp[j][l]==1+dp[i][h]) fn(j,l);
}
j=i+1;l=h-1;
if(check(j,l))if(a[j][l]==1+a[i][h])
{
dp[j][l]=max(dp[j][l],1+dp[i][h]);mx=max(mx,dp[j][l]);
if(dp[j][l]==1+dp[i][h])fn(j,l);
}
j=i+1;l=h+1;
if(check(j,l))if(a[j][l]==1+a[i][h])
{
dp[j][l]=max(dp[j][l],1+dp[i][h]);mx=max(mx,dp[j][l]);
if(dp[j][l]==1+dp[i][h])fn(j,l);
}
if(dp[i][h]==0&&a[i][h]=='A'){f=1;return ;}
if(dp[i][h]==-1)dp[i][h]=-2;return ;
}
int main()
{//freopen("input.txt","r",stdin);
ios_base::sync_with_stdio(0);
cin>>n>>m;ll u=1;
while(n!=0&&m!=0)
{
f(i,n)f(j,m){cin>>a[i][j];dp[i][j]=-1;
}
mx=-1;
f(i,n)
f(j,m)
{
if(a[i][j]=='A')
{dp[i][j]=0;fn(i,j);}
}if(mx!=-1){cout<<"Case"<<" "<<u<<": "<<mx+1<<endl;u++;}
else if(f){cout<<"Case"<<" "<<u<<": "<<1<<endl;u++;}
else {cout<<"Case"<<" "<<u<<": "<<mx+1<<endl;u++;}
cin>>n>>m;f=0;
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKI2RlZmluZSBsbCBpbnQKI2RlZmluZSBmKGksbikgZm9yKGxsIGk9MDtpPG47aSsrKQogCmxsIG4sbTtsbCBteD0tMTsKbGwgZHBbNjBdWzYwXTtsbCBmOwpjaGFyIGFbNjBdWzYwXTsKYm9vbCBjaGVjayhsbCBpLGxsIGopCnsKICAgIGlmKChpPj0wJiZpPG4pKWlmKChqPj0wJiZqPG0pKXJldHVybiAxOwogICAgZWxzZSByZXR1cm4gMDsKfQp2b2lkIGZuKGxsIGksbGwgaCkKe2lmKGRwW2ldW2hdPT0tMilyZXR1cm4gOwogICAgbGwgaixsOwogICAgaj1pLTE7bD1oOwogICAgaWYoY2hlY2soaixsKSlpZihhW2pdW2xdPT0xK2FbaV1baF0pCiAgICB7CiAgICAgICAgZHBbal1bbF09bWF4KGRwW2pdW2xdLDErZHBbaV1baF0pO214PW1heChteCxkcFtqXVtsXSk7CiAgICAgICAgaWYoZHBbal1bbF09PTErZHBbaV1baF0pCiAKICAgICAgICBmbihqLGwpOwogICAgfQogICAgaj1pO2w9aC0xOwogICAgaWYoY2hlY2soaixsKSlpZihhW2pdW2xdPT0xK2FbaV1baF0pCiAgICB7CiAgICAgICAgZHBbal1bbF09bWF4KGRwW2pdW2xdLDErZHBbaV1baF0pO214PW1heChteCxkcFtqXVtsXSk7CiAgICAgICAgaWYoZHBbal1bbF09PTErZHBbaV1baF0pZm4oaixsKTsKICAgIH0KICAgIGo9aSsxO2w9aDsKICAgIGlmKGNoZWNrKGosbCkpaWYoYVtqXVtsXT09MSthW2ldW2hdKQogICAgewogICAgICAgIGRwW2pdW2xdPW1heChkcFtqXVtsXSwxK2RwW2ldW2hdKTtteD1tYXgobXgsZHBbal1bbF0pOwogICAgICAgIGlmKGRwW2pdW2xdPT0xK2RwW2ldW2hdKWZuKGosbCk7CiAgICB9CiAgICBqPWk7bD1oKzE7CiAgIGlmKGNoZWNrKGosbCkpaWYoYVtqXVtsXT09MSthW2ldW2hdKQogICAgewogICAgICAgIGRwW2pdW2xdPW1heChkcFtqXVtsXSwxK2RwW2ldW2hdKTtteD1tYXgobXgsZHBbal1bbF0pOwogICAgICAgIGlmKGRwW2pdW2xdPT0xK2RwW2ldW2hdKWZuKGosbCk7CiAgICB9CiAgICBqPWktMTtsPWgtMTsKICAgIGlmKGNoZWNrKGosbCkpaWYoYVtqXVtsXT09MSthW2ldW2hdKQogICAgewogICAgICAgIGRwW2pdW2xdPW1heChkcFtqXVtsXSwxK2RwW2ldW2hdKTtteD1tYXgobXgsZHBbal1bbF0pOwogICAgICAgIGlmKGRwW2pdW2xdPT0xK2RwW2ldW2hdKWZuKGosbCk7CiAgICB9CiAgICBqPWktMTtsPWgrMTsKICAgIGlmKGNoZWNrKGosbCkpaWYoYVtqXVtsXT09MSthW2ldW2hdKQogICAgewogICAgICAgIGRwW2pdW2xdPW1heChkcFtqXVtsXSwxK2RwW2ldW2hdKTtteD1tYXgobXgsZHBbal1bbF0pOwogICAgICAgaWYoZHBbal1bbF09PTErZHBbaV1baF0pIGZuKGosbCk7CiAgICB9CiAgICBqPWkrMTtsPWgtMTsKICAgIGlmKGNoZWNrKGosbCkpaWYoYVtqXVtsXT09MSthW2ldW2hdKQogICAgewogICAgICAgIGRwW2pdW2xdPW1heChkcFtqXVtsXSwxK2RwW2ldW2hdKTtteD1tYXgobXgsZHBbal1bbF0pOwogICAgICAgIGlmKGRwW2pdW2xdPT0xK2RwW2ldW2hdKWZuKGosbCk7CiAgICB9CiAgICBqPWkrMTtsPWgrMTsKICAgaWYoY2hlY2soaixsKSlpZihhW2pdW2xdPT0xK2FbaV1baF0pCiAgICB7CiAgICAgICAgZHBbal1bbF09bWF4KGRwW2pdW2xdLDErZHBbaV1baF0pO214PW1heChteCxkcFtqXVtsXSk7CiAgICAgICAgaWYoZHBbal1bbF09PTErZHBbaV1baF0pZm4oaixsKTsKICAgIH0KICAgIGlmKGRwW2ldW2hdPT0wJiZhW2ldW2hdPT0nQScpe2Y9MTtyZXR1cm4gO30KICAgIGlmKGRwW2ldW2hdPT0tMSlkcFtpXVtoXT0tMjtyZXR1cm4gOwp9CiAKaW50IG1haW4oKQp7Ly9mcmVvcGVuKCJpbnB1dC50eHQiLCJyIixzdGRpbik7Cmlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgIGNpbj4+bj4+bTtsbCB1PTE7CiAgIHdoaWxlKG4hPTAmJm0hPTApCiAgIHsKICAgICAgIGYoaSxuKWYoaixtKXtjaW4+PmFbaV1bal07ZHBbaV1bal09LTE7CiAgICAgICB9CiAgICAgICAgbXg9LTE7CiAgICAgICBmKGksbikKICAgICAgIGYoaixtKQogICAgICAgewogICAgICAgICAgICAgICAgICBpZihhW2ldW2pdPT0nQScpCiAKICAgICAgICAgICAgICAgICAge2RwW2ldW2pdPTA7Zm4oaSxqKTt9CiAKICAgICAgIH1pZihteCE9LTEpe2NvdXQ8PCJDYXNlIjw8IiAiPDx1PDwiOiAiPDxteCsxPDxlbmRsO3UrKzt9CiAgICAgICBlbHNlIGlmKGYpe2NvdXQ8PCJDYXNlIjw8IiAiPDx1PDwiOiAiPDwxPDxlbmRsO3UrKzt9CmVsc2Uge2NvdXQ8PCJDYXNlIjw8IiAiPDx1PDwiOiAiPDxteCsxPDxlbmRsO3UrKzt9CiAgICAgICBjaW4+Pm4+Pm07Zj0wOwogICB9CiAKICAgcmV0dXJuIDA7Cn0KIA==