import java.io.*;

public class Main {

	// ??¶????????¨?¨??????????????????°
	final static int HEIGHT_COUNT = 12;
	final static int WIDTH_COUNT = 12;


	public static void main(String args[]) throws IOException {
		StringBuilder sb = new StringBuilder();
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String setValue;

		IslandCount ic = new IslandCount(HEIGHT_COUNT, WIDTH_COUNT);

		do{

			// 12??12??????????????????????¬???????????????\??????
			for (int i = 0; i < HEIGHT_COUNT; i++) {
				setValue = br.readLine();
				for (int j = 0; j < WIDTH_COUNT; j++) {
					ic.island[i][j] = Integer.parseInt(String.valueOf(setValue.charAt(j)));
				}
			}

			// ??¶?????????????????°????¨????
			int islandCount = ic.islandCount();
			sb.append(String.valueOf(islandCount) + "\n");
			//if(br.readLine() == null){break;}
			br.readLine();
		}while(br.ready());
	
				
		// ????????????????????????
		sb.deleteCharAt(sb.length() - 1);
		// ???????????????
		System.out.println(new String(sb));

	}

}

// ??¶?????°?????°???????????????
class IslandCount {
	public int island[][];

	private int height;
	private int width;

	private int getCount;

	// ??????????????????????????¨
	IslandCount(int height, int width) {
		this.island = new int[height][width];
		this.height = height;
		this.width = width;
		this.getCount = 0;
	}

	/**
	 * ??¶???????´¢??????????????????????????¢?????????1???????????¨??????????????????????§????
	 */
	private void initialValue() {

		// for?????§??????????????¢???
		for (int i = 0; i < height; i++) {
			for (int j = 0; j < width; j++) {
				if (island[i][j] == 1) {
					// System.out.println("island[" + i + "][" + j + "]= " +
					// island[i][j]);
					// ????????????????????§????????????????????° x???width(?¨?) y???height(???)
					// if(i==11){System.out.println("???????????????");}
					// ??¶????????????????????????????????????????????????????????????????´¢??????

					// if (!checkTopBottomRightLeft(i, j)) {

					centerExist(i, j);
					// ???????????????????????¨???????????¨??§getCount???1??????????????????
					getCount++;
					// }
				}
			}
		}
		
	}

	/**
	 * initialValue??????????????§??????????????´??????0??¨??????
	 */
	private void centerExist(int y, int x) {
		// ??????????????????????????¨???????????¨??????1??§?????£?????¨???????????¨????????§?????????????????§????????????????????????(getCount++)??§????????????????????????

		// ??????????????¨??????0?????????
		island[y][x] = 0;

		// true?????´???????????????????????????????????????????????????????????????centerExist????????????
		if (topExist(y, x)) {
			centerExist(y - 1, x);
		}

		// true?????´???????????????????????????????????????????????????????????????centerExist????????????
		if (bottomExist(y, x)) {
			centerExist(y + 1, x);
		}

		// true?????´???????????????????????????????????????????????????????????????centerExist????????????
		if (rightExist(y, x)) {
			centerExist(y, x + 1);
		}

		// true?????´???????????????????????????????????????????????????????????????centerExist????????????
		if (leftExist(y, x)) {
			centerExist(y, x - 1);
		}
	}

	/**
	 * ?????????????????????????????????????????????????????????????¶?????????????0?????????????????£?????¨??????
	 */
	private boolean topExist(int topY, int topX) {
		boolean ret = false;
		// y??????0??\?????§????????°???????????????
		if (topY - 1 >= 0) {
			// ??????????????§?¨??????????1??§????????´??????true????????????????????§?¨????0?????\??????
			if (island[topY - 1][topX] == 1) {
				island[topY - 1][topX] = 0;
				ret = true;
			}
		}
		return ret;
	}

	/**
	 * ?????????????????????????????????????????????????????????????¶?????????????0?????????????????£?????¨??????
	 */
	private boolean rightExist(int rightY, int rightX) {
		boolean ret = false;
		// x??????width??\?????§????????°???????????????
		if (rightX + 1 < width) {
			// ??????????????§?¨??????????1??§????????´??????true????????????????????§?¨????0?????\??????
			if (island[rightY][rightX + 1] == 1) {
				island[rightY][rightX + 1] = 0;
				ret = true;
			}
		}
		return ret;

	}

	/**
	 * ?????????????????????????????????????????????????????????????¶?????????????0?????????????????£?????¨??????
	 */
	private boolean bottomExist(int bottomY, int bottomX) {
		boolean ret = false;

		// y??????height??\?????§????????°???????????????
		if (bottomY + 1 < height) {
			// ??????????????§?¨??????????1??§????????´??????true????????????????????§?¨????0?????\??????
			if (island[bottomY + 1][bottomX] == 1) {
				island[bottomY + 1][bottomX] = 0;
				ret = true;
			}
		}
		return ret;

	}

	/**
	 * ?????????????????????????????????????????????????????????????¶?????????????0?????????????????£?????¨??????v
	 */
	private boolean leftExist(int leftY, int leftX) {
		boolean ret = false;
		// y??????0??\?????§????????°???????????????
		if (leftX - 1 >= 0) {
			// ??????????????§?¨??????????1??§????????´??????true????????????????????§?¨????0?????\??????
			if (island[leftY][leftX - 1] == 1) {
				island[leftY][leftX - 1] = 0;
				ret = true;
			}
		}
		return ret;

	}

	/**
	 * ??¶?????°?????????
	 * 
	 * @return
	 */
	public int islandCount() {
		// System.out.println(island[0][9]);
		initialValue();
		// System.out.println(island[0][9]);
		int setC = getCount;
		getCount = 0;
		return setC;
		

	}

}

Measured memory_bytes: 24812