#include <stdio.h>
int a[100][100]= {},o[100][100]= {};
int s(int i,int j,int k)
{
if(k==0)
{
return 0;
}
o[i][j]=0;
int x=1;
if(o[i-1][j]==1)
{
x+=s(i-1, j,k);
}
if(o[i+1][j]==1)
{
x+=s(i+1,j,k);
}
if(o[i][j-1]==1)
{
x+=s(i,j-1,k);
}
if(o[i][j+1]==1)
{
x+=s(i,j+1,k);
}
return x;
}
int f(int i,int j,int k)
{
if(k==1)
{
return 1;
}
a[i][j]=1;
int x=1;
if(a[i-1][j]==k)
{
x+=f(i-1, j,k);
}
if(a[i+1][j]==k)
{
x+=f(i+1,j,k);
}
if(a[i][j-1]==k)
{
x+=f(i,j-1,k);
}
if(a[i][j+1]==k)
{
x+=f(i,j+1,k);
}
return x;
}
int main()
{
int i,j,n,c=0,m,g=0,u=0,y=0;
scanf("%d %d",&n,&m);
for(i=1; i<=m; i++)
{
for(j=1; j<=n; j++)
{
scanf("%d",&a[i][j]);
o[i][j]=a[i][j];
}
}
for(i=1; i<=m; i++)
{
u=f(i,j,a[i][j]);
if(u!=0)
{
g++;
u=0;
}
}
for(i=1; i<=m; i++)
{
for(j=1; j<=n; j++)
{
y=s(i,j,o[i][j]);
if(y!=0)
{
c++;
y=0;
}
}
}
printf("%d %d",g,c);
return 0;
}