/*
#include <stdlib.h>
int main()
{
printf("Hello world!\n");
return 0;
}
2605
#include <stdio.h>
int arr[50][50]={};
int x=0,z=1,n=0;
int color=0;
void dfs(int i,int j)
{
if(i<1 || j<1 || i>7 || j>7 || arr[i][j]!=color)
return ;
n++;
arr[i][j]=0;
dfs(i,j+1);
dfs(i,j-1);
dfs(i+1,j);
dfs(i-1,j);
//if(j+1<= 7 && arr[i][j+1]==color)
//{
//dfs(i,j+1);
//}
//if(i+1<=7 && arr[i+1][j] == color)
//{
//dfs(i+1,j);
//}
//if(j-1>=1 && arr[i][j-1] == color)
//{
//dfs(i,j-1);
//}
//if(i-1>=1 && arr[i-1][j] == color)
//{
//dfs(i-1,j);
//}
}
int main()
{
for(int i=1; i<=7; i++)
{
for(int j=1; j<=7; j++)
{
scanf("%d",&arr[i][j]);
}
}
for(int i=1; i<=7; i++)
{
for(int j=1; j<=7; j++)
{
printf("%d ",arr[i][j]);
}
printf("\n");
}
for(int i=1; i<=7; i++)
{
for(int j=1; j<=7; j++)
{
if(arr[i][j]!=0)
{
n=0;
color = arr[i][j];
dfs(i,j);
//printf("%d\n",n);
if(n>=3)
{
//printf("dfs start i=%d j=%d c=%d\n",i,j,color);
x++;
}
}
}
}
printf("%d",x);
return 0;
}
*/
#include <stdio.h>
int arr[26][26];
int x=0,n,m;
void dfs(int i, int j)
{
if(i>n || i<1 || j>n || j<1 || arr[i][j]!=1) return ;
arr[i][j]=0;
n++;
dfs(i+1,j);
dfs(i-1,j);
dfs(i,j+1);
dfs(i,j-1);
}
int main()
{
scanf("%d",&n);
for(int i=1; i<=n; i++)
{
for(int j=1; j<=n; j++)
{
scanf("%1d",&arr[i][j]);
}
}
for(int i=1; i<=n; i++)
{
for(int j=1; j<=n; j++)
{
printf("%d",arr[i][j]);
}
printf("\n");
}
for(int i=1; i<=n; i++)
{
for(int j=1; j<=n; j++)
{
if(arr[i][j]==1)
{
dfs(i,j);
x++;
}
}
}
printf("%d\n",x);
printf("%d\n",n);
return 0;
}