#include <iostream>
#include <vector>
using namespace std;

const int direction[4][2] = {
        {-1,0},   // 上
        {1,0},    // 下
        {0,1},    // 右
        {0,-1}    // 左
};

void helper(vector<vector<int>>& matrix, int x, int y, vector<vector<bool>>& visited)
{
    int M = matrix.size();
    for(int i=0;i<4;i++)
    {
        int tmp_x = x + direction[i][0];
        int tmp_y = y + direction[i][1];
        if(tmp_x<0 || tmp_y<0 || tmp_x>=M || tmp_y>=M)
        {
            continue;
        }
        if(matrix[tmp_x][tmp_y]==1 && !visited[tmp_x][tmp_y])
        {
            visited[tmp_x][tmp_y] = true;
            helper(matrix, tmp_x, tmp_y, visited);
        }
    }
}

int main(int argc, char* argv[])
{
    int M = 0;
    while(cin>>M)
    {
        vector<vector<int>> matrix(M, vector<int>(M));
        for(int i=0;i<M;i++)
        {
            for(int j=0;j<M;j++)
            {
                cin >> matrix[i][j];
            }
        }
        int num = 0;
        vector<vector<bool>> visited(M, vector<bool>(M, false));
        for(int i=0;i<M;i++)
        {
            for(int j=0;j<M;j++)
            {
                if(matrix[i][j]==1 && !visited[i][j])
                {
                    visited[i][j] = true;
                    num++;
                    helper(matrix, i, j, visited);
                }
            }
        }
        cout << num << endl;
    }
    return 0;
}