#include <set>
#include <map>
#include <list>
#include <queue>
#include <stack>
#include <cmath>
#include <ctime>
#include <cstdio>
#include <vector>
#include <string>
#include <bitset>
#include <cctype>
#include <cstdlib>
#include <cstring>
#include <utility>
#include <numeric>
#include <complex>
#include <sstream>
#include <fstream>
#include <iomanip>
#include <cassert>
#include <iostream>
#include <iterator>
#include <algorithm>

using namespace std;
char board[12][13];//島のボード
int dx[] ={1,0,-1,0};
int dy[] ={0,-1,0,1};

void dfs(int a,int b){//幅優先探索で解く。
  board[a][b] ='0';//ボードを書き換える
  for(int i = 0;i < 4;i++){//四方向で調べる
      int nx = a +dx[i];
      int ny = b +dy[i];
      if(nx >= 0&& ny >= 0&& nx <12 && ny <12 && board[nx][ny] == '1'){
	dfs(nx,ny);
      }
    
  }
}


int main()
{
  while(1){
    int ans = 0;
    for(int i=0;i<12;i++){
      for(int j=0;j<12;j++){
	cin >> board[i][j];
            }
        }
    if(cin.eof()) break;
  for(int i = 0; i <12;i++){
    for(int j = 0;j <12;j++){
      if(board[i][j] =='1'){
	ans++;
	dfs(i,j);
      }
    }
  }
  cout <<ans<<endl;
  }
  return 0;
}