#include<bits/stdc++.h>
using namespace std;
const long long M=1e6+10,MOD=1000000007;
typedef long long ll;
char ch[2002][2002];
int A[]={1,-1,0,0};
int B[]={0,0,1,-1};
int vis[2002][2002];
int cnt=0;
int res=0;
void dfs(int x,int y,int n,int m){
cnt++;
vis[x][y]=1;
for(int i=0;i<4;i++){
int a=A[i]+x;
int b=B[i]+y;
if(a>0 && a<=n && b>0 && b<=m && ch[a][b]=='0'&&!vis[a][b])
{
dfs(a,b,n,m);
}
}
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
int t=1;
cin>>t;
int cas=1;
while(t--){
int n,m;
cin>>n>>m;
res=0;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)cin>>ch[i][j];
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++){
if(ch[i][j]=='0'&&!vis[i][j]){
cnt=0;
dfs(i,j,n,m);
res=max(res,cnt);
}
}
cout<<"Floor #"<<cas<<": ";
cout<<res<<"\n";
cas++;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)vis[i][j]=0;
}
return 0;
}