import std.stdio;
import std.algorithm;
import std.string;
import std.array;
import std.conv;
import std.math;

char[12][12] map;
int[] dx = [1,0,-1,0];
int[] dy = [0,1,0,-1];

void saiki(int x, int y){
    if(map[y][x] == '1'){
	map[y][x] = '0';
	for(int i=0;i<4;i++){
	    if(x+dx[i]>=12||y+dy[i]>=12||x+dx[i]<0||y+dy[i]<0) continue;
	    saiki(x+dx[i],y+dy[i]);
	}
    }
}

void main(){
    auto temp = map.dup;
    while(true){
	map = temp.dup;
	int ans;
	for(int i=0;i<12;i++){
	    string t = readln().chomp();
	    for(int j=0;j<12;j++) map[i][j] = t[j];
	}
	for(int i=0;i<12;i++){
	    for(int j=0;j<12;j++){
		if(map[j][i]=='1'){
		    saiki(i,j);
		    ans++;
		}
	    }
	}
	writeln(ans);
	auto a = readln();
	if(stdin.eof()) break;
    }
}