/*#include <stdio.h>
#include <stdlib.h>
int main()
{
printf("플레시디엄을 기억하라!\n");
return 0;
}
*/
/*
#include <stdio.h>
int s, r=0;
int a[27][27]={};
int b[729]={};
void dfs(int x, int y) // a[x][y]에서 dfs하세요
{
a[x][y]=0; // 방문했따!
r++;
if(x+1<=s && a[x+1][y]==1){ // 아래와 연결되어있나요?
dfs(x+1, y); //아래 방문해라!
}
if(x-1>=1 && a[x-1][y]==1){
dfs(x-1, y);
}
if(y+1<=s && a[x][y+1]==1){
dfs(x, y+1);
}
if(y-1>=1 && a[x][y-1]==1){
dfs(x, y-1);
}
}
int main()
{
int i, j, x, y, cnt=0, temp=0;
scanf("%d", &s);
for(i=1; i<=s; i++){
for(j=1; j<=s; j++){
scanf("%1d", &a[i][j]);
}
}
for(i=1; i<=s; i++){
for(j=1; j<=s; j++){
if(a[i][j]==1){
r=0;
dfs(i, j);
cnt++;
b[cnt]=r;
}
}
}
for(i=1; i<cnt; i++){
for(j=1; j<cnt; j++){
if (b[j] > b[j+1]){
temp = b[j];
b[j] = b[j+1];
b[j+1] = temp;
}
}
}
printf("%d\n",cnt);
for(i=1; i<=cnt; i++){
printf("%d\n", b[i]);
}
return 0;
}
*/
/*
#include <stdio.h>
int a[9][9]={};
int r=0, cnt=0, c=0;
void dfs(int x, int y)
{
a[x][y]=0;
r++;
if(x+1<=7 && a[x+1][y]==c){
dfs(x+1, y);
}
if(x-1>=1 && a[x-1][y]==c){
dfs(x-1, y);
}
if (y+1<=7 && a[x][y+1]==c){
dfs(x, y+1);
}
if(y-1>=1 && a[x][y-1]==c){
dfs(x, y-1);
}
}
int main()
{
int i, j;
for(i=1; i<=7; i++){
for(j=1; j<=7; j++){
scanf("%d", &a[i][j]);
}
}
for(i=1; i<=7; i++){
for(j=1; j<=7; j++){
if(a[i][j]!=0){
c = a[i][j];
dfs(i, j);
if(r>=3){
cnt++;
}
r=0;
}
}
}
printf("%d", cnt);
return 0;
}
*/
#include <stdio.h>
int a[102][102]={};
int m, n; // 가로와 세로
int s, v; // 최소 조작 횟수 저장
int situation; // 전구 상태
void dfs(int x, int y)
{
if(situation==0){
s++;
a[x][y]=1;
}
else{
v++;
a[x][y]=0;
}
if(x+1<=m && a[x+1][y]==situation){
if(situation==0){
a[x+1][y]=1;
}
else{
a[x+1][y]=0;
}
dfs(x+1, y);
}
if(x-1>=1 && a[x-1][y]==situation){
if(situation==0){
a[x-1][y]=1;
}
else{
a[x-1][y]=0;
}
dfs(x-1, y);
}
if(y+1<=n && a[x][y+1]==situation){
if(situation==0){
a[x][y+1]=1;
}
else{
a[x][y+1]=0;
}
dfs(x, y+1);
}
if(y-1>=1 && a[x][y-1]==situation){
if(situation==0){
a[x][y-1]=1;
}
else{
a[x][y-1]=0;
}
dfs(x, y-1);
}
}
int main()
{
int i, j;
scanf("%d %d", &m, &n);
for(i=1; i<=n; i++){
for(j=1; j<=m; j++){
scanf("%d", &a[i][j]);
}
}
for(i=1; i<=n; i++){
for(j=1; j<=m; j++){
a[i][j]=situation;
dfs(i, j);
}
}
printf("%d %d", s, v);
return 0;
}