#include<bits/stdc++.h>
using namespace std;
char grid[2001][2001];
//bool vis[2001][2001];
int n,m,room=0,mx=0;
bool ok=false;
void dfs(int i,int j,vector<vector<bool>> &vis)
{
if(i<0 || j<0) return;
if(i>=n || j>=m) return;
if(vis[i][j]) return;
if(grid[i][j]=='1') return;
++room;
vis[i][j]=true;
dfs(i+1,j,vis);
dfs(i,j+1,vis);
dfs(i-1,j,vis);
dfs(i,j-1,vis);
}
void solve(int tc)
{
cin>>n>>m;
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
cin>>grid[i][j];
}
}
vector<vector<bool>>vis(n+1,vector<bool>(m+1));
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
if(grid[i][j]=='1' || vis[i][j]) continue;
dfs(i,j,vis);
mx=max(mx,room);
room=0;
}
}
cout<<"Floor #"<<tc<<": ";
cout<<mx<<endl;
mx=0;
}
int main()
{
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
int t; cin>>t;
for(int i=1;i<=t;i++)
{
solve(i);
/*for(int i=0;i<=2000;i++)
{
for(int j=0;j<=2000;j++)
{
vis[i][j]=false;
}
}*/
}
}