import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Pool {
static int[][] field;
static int nums=0;
static int[][] dir = new int[][] { { -1, 0 }, { 1, 0 }, { 0, -1 }, { 0, 1 } };
public static void main(String[] args) throws FileNotFoundException {
// TODO Auto-generated method stub
Scanner sc = new Scanner(new File("src/pool"));
int N=sc.nextInt();
field=new int[N+2][N+2];
for(int i=0;i<N+2;i++){
field[i][0]=0;
field[0][i]=0;
field[i][N+1]=0;
field[N+1][i]=0;
}
for(int i=1;i<N+1;i++){
for(int j=1;j<N+1;j++){
field[i][j]=sc.nextInt();
}
}
for(int i=1;i<N+1;i++){
for(int j=1;j<N+1;j++){
if(field[i][j]==1){
nums++;
Markpool(i,j,nums+1);
}
}
}
System.out.println(nums);
}
private static void Markpool(int x, int y, int seq) {
// TODO Auto-generated method stub
if(field[x][y]!=1)
return;
field[x][y]=seq;
for(int i=0;i<4;i++){
Markpool(x + dir[i][0], y + dir[i][1], seq);
}
}
}