#include <bits/stdc++.h>
#define ll long long
#define MOD 1000000007
#define E "\n"
 
using namespace std;
 
int m,n,s;
vector<int>neighRow={0,1,0,-1};
vector<int>neighCol={1,0,-1,0};
 
int bfs2(int i,int j,vector<vector<int>>&vis){
    queue<pair<int,int>>q;
    vector<vector<int>>vis2(m+2,vector<int>(n+2,-1));
    int count=1;
    q.push({i,j});
    vis2[i][j]=1;
    while(q.size()){
        auto it=q.front();
        int x=it.first,y=it.second;
        q.pop();
        for(int i=0;i<4;i++){
            int row=x+neighRow[i],col=y+neighCol[i];
            if(row>=0 && col>=0 && row<m+2 && col<n+2 && vis[row][col]==-1 && vis2[row][col]==-1){
                count++;
                vis[row][col]=1,vis2[row][col]=1;;
                q.push({row,col});
            }
        }
    }
    return count;
}
 
int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
 
#ifndef ONLINE_JUDGE
    freopen("warm.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
#endif
 
    int t,c=1;
    cin >> t;
    while (t--) {
        cin>>m>>n>>s;
 
        vector<vector<char>>v(m+2,vector<char>(n+2,'#'));
        vector<vector<int>>vis(m+2,vector<int>(n+2,-1));
        for(int i=1;i<=m;i++){
            for(int j=1;j<=n;j++){
                cin>>v[i][j];
            }
        }
        queue<vector<int>>q;
        for(int i=0;i<m+2;i++){
            for(int j=0;j<n+2;j++){
                if(v[i][j]=='#'){
                    q.push({i,j,0});
                    vis[i][j]=1;    
                }
            }
        }
        while(q.size()){
            auto it=q.front();
            q.pop();
            int x=it[0],y=it[1],count=it[2];
            if(count>=s)
                continue;
            for(int i=0;i<4;i++){
                int row=x+neighRow[i],col=y+neighCol[i];
                if(row>=0 && col>=0 && row<m+2 && col<n+2 && vis[row][col]==-1){
                    vis[row][col]=1;
                    q.push({row,col,count+1});
                }
            }
        }
        int maxi=0;
        for(int i=1;i<=m;i++){
            for(int j=1;j<=n;j++){
                if(vis[i][j]==-1){
                    maxi=max(maxi,bfs2(i,j,vis));
                }
            }
        }
        cout<<"Case #"<<c<<": "<<maxi<<endl;
        c++;
    }
    return 0;
}
				I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgTU9EIDEwMDAwMDAwMDcKI2RlZmluZSBFICJcbiIKCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbSxuLHM7CnZlY3RvcjxpbnQ+bmVpZ2hSb3c9ezAsMSwwLC0xfTsKdmVjdG9yPGludD5uZWlnaENvbD17MSwwLC0xLDB9OwoKaW50IGJmczIoaW50IGksaW50IGosdmVjdG9yPHZlY3RvcjxpbnQ+PiZ2aXMpewogICAgcXVldWU8cGFpcjxpbnQsaW50Pj5xOwogICAgdmVjdG9yPHZlY3RvcjxpbnQ+PnZpczIobSsyLHZlY3RvcjxpbnQ+KG4rMiwtMSkpOwogICAgaW50IGNvdW50PTE7CiAgICBxLnB1c2goe2ksan0pOwogICAgdmlzMltpXVtqXT0xOwogICAgd2hpbGUocS5zaXplKCkpewogICAgICAgIGF1dG8gaXQ9cS5mcm9udCgpOwogICAgICAgIGludCB4PWl0LmZpcnN0LHk9aXQuc2Vjb25kOwogICAgICAgIHEucG9wKCk7CiAgICAgICAgZm9yKGludCBpPTA7aTw0O2krKyl7CiAgICAgICAgICAgIGludCByb3c9eCtuZWlnaFJvd1tpXSxjb2w9eStuZWlnaENvbFtpXTsKICAgICAgICAgICAgaWYocm93Pj0wICYmIGNvbD49MCAmJiByb3c8bSsyICYmIGNvbDxuKzIgJiYgdmlzW3Jvd11bY29sXT09LTEgJiYgdmlzMltyb3ddW2NvbF09PS0xKXsKICAgICAgICAgICAgICAgIGNvdW50Kys7CiAgICAgICAgICAgICAgICB2aXNbcm93XVtjb2xdPTEsdmlzMltyb3ddW2NvbF09MTs7CiAgICAgICAgICAgICAgICBxLnB1c2goe3Jvdyxjb2x9KTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBjb3VudDsKfQoKaW50IG1haW4oKSB7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUoTlVMTCk7CgojaWZuZGVmIE9OTElORV9KVURHRQogICAgZnJlb3Blbigid2FybS50eHQiLCAiciIsIHN0ZGluKTsKICAgIGZyZW9wZW4oIm91dHB1dC50eHQiLCAidyIsIHN0ZG91dCk7CiNlbmRpZgoKICAgIGludCB0LGM9MTsKICAgIGNpbiA+PiB0OwogICAgd2hpbGUgKHQtLSkgewogICAgICAgIGNpbj4+bT4+bj4+czsKCiAgICAgICAgdmVjdG9yPHZlY3RvcjxjaGFyPj52KG0rMix2ZWN0b3I8Y2hhcj4obisyLCcjJykpOwogICAgICAgIHZlY3Rvcjx2ZWN0b3I8aW50Pj52aXMobSsyLHZlY3RvcjxpbnQ+KG4rMiwtMSkpOwogICAgICAgIGZvcihpbnQgaT0xO2k8PW07aSsrKXsKICAgICAgICAgICAgZm9yKGludCBqPTE7ajw9bjtqKyspewogICAgICAgICAgICAgICAgY2luPj52W2ldW2pdOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHF1ZXVlPHZlY3RvcjxpbnQ+PnE7CiAgICAgICAgZm9yKGludCBpPTA7aTxtKzI7aSsrKXsKICAgICAgICAgICAgZm9yKGludCBqPTA7ajxuKzI7aisrKXsKICAgICAgICAgICAgICAgIGlmKHZbaV1bal09PScjJyl7CiAgICAgICAgICAgICAgICAgICAgcS5wdXNoKHtpLGosMH0pOwogICAgICAgICAgICAgICAgICAgIHZpc1tpXVtqXT0xOyAgICAKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICB3aGlsZShxLnNpemUoKSl7CiAgICAgICAgICAgIGF1dG8gaXQ9cS5mcm9udCgpOwogICAgICAgICAgICBxLnBvcCgpOwogICAgICAgICAgICBpbnQgeD1pdFswXSx5PWl0WzFdLGNvdW50PWl0WzJdOwogICAgICAgICAgICBpZihjb3VudD49cykKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICBmb3IoaW50IGk9MDtpPDQ7aSsrKXsKICAgICAgICAgICAgICAgIGludCByb3c9eCtuZWlnaFJvd1tpXSxjb2w9eStuZWlnaENvbFtpXTsKICAgICAgICAgICAgICAgIGlmKHJvdz49MCAmJiBjb2w+PTAgJiYgcm93PG0rMiAmJiBjb2w8bisyICYmIHZpc1tyb3ddW2NvbF09PS0xKXsKICAgICAgICAgICAgICAgICAgICB2aXNbcm93XVtjb2xdPTE7CiAgICAgICAgICAgICAgICAgICAgcS5wdXNoKHtyb3csY29sLGNvdW50KzF9KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpbnQgbWF4aT0wOwogICAgICAgIGZvcihpbnQgaT0xO2k8PW07aSsrKXsKICAgICAgICAgICAgZm9yKGludCBqPTE7ajw9bjtqKyspewogICAgICAgICAgICAgICAgaWYodmlzW2ldW2pdPT0tMSl7CiAgICAgICAgICAgICAgICAgICAgbWF4aT1tYXgobWF4aSxiZnMyKGksaix2aXMpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjb3V0PDwiQ2FzZSAjIjw8Yzw8IjogIjw8bWF4aTw8ZW5kbDsKICAgICAgICBjKys7CiAgICB9CiAgICByZXR1cm4gMDsKfQ==