/*#include<stdio.h>
int arr[30][30]={};
int cnt=0;
int d[1000]={};
void dfs(int i, int j)
{
arr[i][j]=0;
cnt++;
// arr[i][j]에서 상하좌우중에 연결된 곳이 있으면,
if(arr[i-1][j]==1)
{
dfs(i-1,j);
}
if(arr[i+1][j]==1)
{
dfs(i+1,j);
}
if(arr[i][j-1]==1)
{
dfs(i,j-1);
}
if(arr[i][j+1]==1)
{
dfs(i,j+1);
}
}
int main()
{
int x,y=0,i,j, n,temp;
scanf("%d",&n);
for(i=1; i<=n; i++)
{
for(j=1; j<=n; j++)
{
scanf("%1d",&arr[i][j]);
}
}
for(i=1; i<=n; i++)
{
for(j=1; j<=n; j++)
{
if(arr[i][j]==1)
{
cnt=0;
dfs(i,j);
y++;
d[y]=cnt;
}
}
}
printf("%d\n",y);
for(i=1;i<=y;i++)
{
for(j=1; j<=y-i; j++)
{
if (d[j] > d[j+1])
{
temp = d[j];
d[j] = d[j+1];
d[j+1] = temp;
}
}
}
for(i=1;i<=y;i++)
{
printf("%d\n",d[i]);
}
}
*/
#include<stdio.h>
int arr[9][9]={};
int cnt;
void dfs(int i, int j)
{
cnt++;
if(arr[i-1][j]==arr[i][j]&&arr[i][j]!=0)
{
dfs(i-1,j);
}
if(arr[i+1][j]==arr[i][j]&&arr[i][j]!=0)
{
dfs(i+1,j);
}
if(arr[i][j-1]==arr[i][j]&&arr[i][j]!=0)
{
dfs(i,j-1);
}
if(arr[i][j+1]==arr[i][j]&&arr[i][j]!=0)
{
dfs(i,j+1);
}
arr[i][j]=0;
}
int main()
{
int x,y=0,i,j;
for(i=1; i<=7; i++)
{
for(j=1; j<=7; j++)
{
scanf("%d",&arr[i][j]);
}
}
for(i=1; i<=7; i++)
{
for(j=1; j<=7; j++)
{
cnt=-1;
dfs(i,j);
if(cnt>=3)
{
y++;
}
}
}
printf("%d\n",y);
}