/*****include*****/
#include <iostream>
#include <fstream>
#include <queue>

/*****マクロ定義*****/

/*****名前空間*****/
using namespace std;

/*****グローバル変数置き場*****/
bool Field[14][14];

/*****その他関数置き場*****/
void bfs(int sy,int sx){
	int dx[] = {0,1,0,-1};
	int dy[] = {-1,0,1,0};
	queue<int> Qx;
	queue<int> Qy;
	Qx.push(sx);
	Qy.push(sy);
	int xn;
	int yn;
	int x_next;
	int y_next;
	Field[sy][sx] = false;
	while(!(Qx.empty() && Qy.empty())){
		xn = Qx.front();Qx.pop();
		yn = Qy.front();Qy.pop();
		//cout << xn << " " << yn << endl;
		for(int i=0;i<4;i++){
			x_next = xn + dx[i];
			y_next = yn + dy[i];
			if(Field[y_next][x_next] == true){
				Qx.push(x_next);
				Qy.push(y_next);
				Field[y_next][x_next] = false;
			}
		}
	}
}
/*****main関数*****/
int main(){
	/*****変数置き場*****/
	char row[13];
	int num = 0;
	
	/*****処理部*****/
	while(1){
		num = 0;
		for(int i=0;i<14;i++){
			for(int j=0;j<14;j++){
				Field[i][j] = false;
			}
		}
		for(int i=0;i<12;i++){
			cin >> row;
			for(int j=0;j<12;j++){
				Field[i+1][j+1] = ((row[j] == '1') ? true : false);
			}
		}
		/*for(int i=0;i<14;i++){
			for(int j=0;j<14;j++){
				cout << Field[i][j] << " ";
			}
			cout <<endl;
		}*/
		for(int i=0;i<14;i++){
			for(int j=0;j<14;j++){
				if(Field[i][j]){
					bfs(i,j);
					num++;
				}
			}
		}
		cout << num <<endl;
		break;
	}
	return 0;
}