#include <bits/stdc++.h>
using namespace std;
vector< vector<int> > graph(1001,vector<int>(1001,0));
int visited[1001][1001];
int tmp,n,m;
void slv(int i,int j){
visited[i][j]=1;
tmp++;
if( (i+1<n) && (graph[i+1][j]==1) && (visited[i+1][j]==0))
slv(i+1,j);
if((i+1<n) && (j+1<m) && (graph[i+1][j+1]==1) && (visited[i+1][j]==0))
slv(i+1,j+1);
if((i-1>=0) && (graph[i-1][j]==1) && (visited[i+1][j]==0))
slv(i-1,j);
if((i-1>=0) && (j-1 >=0) && (graph[i-1][j-1]==1) && (visited[i+1][j]==0))
slv(i-1,j-1);
if((j+1<n) && (graph[i][j+1]==1) && (visited[i+1][j]==0))
slv(i,j+1);
if((j-1>=0 )&& (graph[i][j-1]==1) && (visited[i+1][j]==0))
slv(i,j-1);
if((i-1>=0) && (j+1<m) && (graph[i-1][j+1]==1) && (visited[i+1][j]==0))
slv(i-1,j+1);
if((i+1<n) && (j-1>=0) && (graph[i+1][j-1]==1) && (visited[i+1][j]==0))
slv(i+1,j-1);
}
int main()
{
int t, i,j,k,trps,mxm;
cin>>t;
for(int t1=0;t1<t;t1++){
tmp=0;
cin>>n>>m;
trps=0;
mxm=0;
for(i=0;i<=n;i++)for( j=0;j<=m;j++){visited[i][j]=0;}
for(i=0;i<n;i++)
for(j=0;j<m;j++)
cin>>graph[i][j];
for(i=0;i<n;i++){
for(j=0;j<m;j++){
if(graph[i][j]==1 && visited[i][j]==0){
slv(i,j);
trps++;
if(mxm<tmp)mxm=tmp;
}
}
}
cout<<trps<<" "<<mxm<<endl;
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKdmVjdG9yPCB2ZWN0b3I8aW50PiA+IGdyYXBoKDEwMDEsdmVjdG9yPGludD4oMTAwMSwwKSk7CmludCB2aXNpdGVkWzEwMDFdWzEwMDFdOwppbnQgdG1wLG4sbTsKdm9pZCBzbHYoaW50IGksaW50IGopewogICAgICAgICAgCiAgICB2aXNpdGVkW2ldW2pdPTE7CiAgICAgICAgICB0bXArKzsKICAgICAgICAgIAogICAgIGlmKCAoaSsxPG4pICYmIChncmFwaFtpKzFdW2pdPT0xKSAmJiAodmlzaXRlZFtpKzFdW2pdPT0wKSkKICAgICAgICBzbHYoaSsxLGopOwogICAgIGlmKChpKzE8bikgJiYgKGorMTxtKSAmJiAoZ3JhcGhbaSsxXVtqKzFdPT0xKSAmJiAodmlzaXRlZFtpKzFdW2pdPT0wKSkKICAgICAgICBzbHYoaSsxLGorMSk7CiAgICAgaWYoKGktMT49MCkgJiYgKGdyYXBoW2ktMV1bal09PTEpICYmICh2aXNpdGVkW2krMV1bal09PTApKQogICAgICAgIHNsdihpLTEsaik7CiAgICAgaWYoKGktMT49MCkgJiYgKGotMSA+PTApICYmIChncmFwaFtpLTFdW2otMV09PTEpICYmICh2aXNpdGVkW2krMV1bal09PTApKQogICAgICAgIHNsdihpLTEsai0xKTsKICAgICBpZigoaisxPG4pICYmIChncmFwaFtpXVtqKzFdPT0xKSAmJiAodmlzaXRlZFtpKzFdW2pdPT0wKSkKICAgICAgICBzbHYoaSxqKzEpOwogICAgIGlmKChqLTE+PTAgKSYmIChncmFwaFtpXVtqLTFdPT0xKSAmJiAodmlzaXRlZFtpKzFdW2pdPT0wKSkKICAgICAgICBzbHYoaSxqLTEpOwogICAgIGlmKChpLTE+PTApICYmIChqKzE8bSkgJiYgKGdyYXBoW2ktMV1baisxXT09MSkgJiYgKHZpc2l0ZWRbaSsxXVtqXT09MCkpCiAgICAgICAgc2x2KGktMSxqKzEpOwogICAgIGlmKChpKzE8bikgJiYgKGotMT49MCkgJiYgKGdyYXBoW2krMV1bai0xXT09MSkgJiYgKHZpc2l0ZWRbaSsxXVtqXT09MCkpCiAgICAgICAgc2x2KGkrMSxqLTEpOwogICAgIAogICAgCn0KaW50IG1haW4oKQp7ICAKICAgIGludCB0LCBpLGosayx0cnBzLG14bTsKICAgIGNpbj4+dDsKICAgIGZvcihpbnQgdDE9MDt0MTx0O3QxKyspewogICAgICAgIHRtcD0wOwogICAgICAgIGNpbj4+bj4+bTsKICAgICAgICB0cnBzPTA7CiAgICAgICAgbXhtPTA7CiAgICAgICAgICAgICBmb3IoaT0wO2k8PW47aSsrKWZvciggaj0wO2o8PW07aisrKXt2aXNpdGVkW2ldW2pdPTA7fQogICAgICAgIGZvcihpPTA7aTxuO2krKykKICAgICAgICAgICBmb3Ioaj0wO2o8bTtqKyspCiAgICAgICAgICAgICAgIGNpbj4+Z3JhcGhbaV1bal07CiAgICAgZm9yKGk9MDtpPG47aSsrKXsKICAgICAgICAgZm9yKGo9MDtqPG07aisrKXsKICAgICAgICAgICAgICAgaWYoZ3JhcGhbaV1bal09PTEgJiYgdmlzaXRlZFtpXVtqXT09MCl7CiAgICAgICAgICAgICAgICAgICBzbHYoaSxqKTsKICAgICAgICAgICAgICAgICAgIHRycHMrKzsKICAgICAgICAgICAgICAgICAgIGlmKG14bTx0bXApbXhtPXRtcDsKICAgICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQogICAgIGNvdXQ8PHRycHM8PCIgIjw8bXhtPDxlbmRsOwogICAgIAogICAgfQogICAgCiAgICAKICAgIHJldHVybiAwOwp9Cg==