/*
#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("Hello world!\n");
return 0;
}
*/
/*
#include<stdio.h>
int count[105]= {}, sum=0,map[105][105]= {},m,n;
void f(int x, int y)
{
if(x>=n||x<0||y>=m||y<0)
{
return;
}
count[sum]++;
map[x][y]=1;
if(map[x+1][y]==0)
{
f(x+1,y);
}
if(map[x-1][y]==0)
{
f(x-1,y);
}
if(map[x][y+1]==0)
{
f(x,y+1);
}
if(map[x][y-1]==0)
{
f(x,y-1);
}
}
int main()
{
int k,c=0,i,j,x1,x2,y1,y2,temp=0,a;
scanf("%d %d %d",&m,&n,&k);
for(a=0; a<k; a++)
{
scanf("%d %d %d %d",&x1,&y1,&x2,&y2);
for(i=x1; i<x2; i++)
{
for(j=y1; j<y2; j++)
{
map[i][j]=1;
}
}
}
for(i=0; i<n; i++)
{
for(j=0; j<m; j++)
{
if(map[i][j]!=1)
{
f(i,j);
sum++;
}
}
}
printf("%d\n",sum);
for(i=0; i<sum-1; i++)
{
for(j=0; j<sum-i-1; j++)
{
if(count[j]>count[j+1])
{
temp=count[j];
count[j]=count[j+1];
count[j+1]=temp;
}
}
}
for(i=0; i<sum; i++)
{
printf("%d ",count[i]);
}
return 0;
}
*/
/*
#include<stdio.h>
char map[15][15]= {};
void f(int x, int y)
{
map[x][y]='*';
if(map[x+1][y]=='_')
{
f(x+1,y);
}
if(map[x-1][y]=='_')
{
f(x-1,y);
}
if(map[x][y+1]=='_')
{
f(x,y+1);
}
if(map[x][y-1]=='_')
{
f(x,y-1);
}
}
int main()
{
int i,j,x,y;
for(i=0; i<10; i++)
{
for(j=0; j<10; j++)
{
scanf("%c ",&map[i][j]);
}
}
scanf("%d %d",&x,&y);
if(map[y][x]=='_')
{
f(y,x);
}
for(i=0; i<10; i++)
{
for(j=0; j<10; j++)
{
printf("%c",map[i][j]);
}
printf("\n");
}
return 0;
}
*/
#include<stdio.h>
int map[105][105]={},map1[105][105]={},n,m;
void f(int x, int y)
{
if(x>=m||x<0||y>=n||y<0)
{
return;
}
map[x][y]=2;
if(map[x+1][y]==0)
{
f(x+1,y);
}
if(map[x-1][y]==0)
{
f(x-1,y);
}
if(map[x][y+1]==0)
{
f(x,y+1);
}
if(map[x][y-1]==0)
{
f(x,y-1);
}
}
void find(int x1, int y1)
{
if(x1>=m||x1<0||y1>=n||y1<0)
{
return;
}
map[x1][y1]=2;
if(map1[x1+1][y1]==1)
{
find(x1+1,y1);
}
if(map1[x1-1][y1]==1)
{
find(x1-1,y1);
}
if(map1[x1][y1+1]==1)
{
find(x1,y1+1);
}
if(map1[x1][y1-1]==1)
{
find(x1,y1-1);
}
}
int main()
{
int i,j,sum1=0,sum=0;
;
scanf("%d %d",&m,&n);
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&map[i][j]);
map1[i][j]=map[i][j]; *******
}
}
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
if(map[i][j]==0)
{
f(i,j);
sum++;
}
}
}
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
if(map1[i][j]==1)
{
find(i,j);
sum1++;
}
}
}
printf("%d %d",sum,sum1);
}