#include<bits/stdc++.h>
using namespace std;
int n;
char a[1005][1005];
bool b[1005][1005];
int s;
void dfs(int x,int y){
if(x==0||x==n+1||y==0||y==n+1){
return;
}
if(a[x-1][y]=='#'){
a[x-1][y]=='.';
dfs(x-1,y);
}
if(a[x+1][y]=='#'){
a[x+1][y]=='.';
dfs(x+1,y);
}
if(a[x][y-1]=='#'){
a[x][y-1]=='.';
dfs(x,y-1);
}
if(a[x][y+1]=='#'){
a[x][y+1]=='.';
dfs(x,y+1);
}
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cin>>a[i][j];
if(a[i][j]=='#'){
b[i][j]=1;
}
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(a[i][j]=='#'){
bool f=0;
if(b[i-1][j]==0&&b[i-1][j]=='.'){
f=1;
}
if(b[i+1][j]==0&&b[i+1][j]=='.'){
f=1;
}
if(b[i][j-1]==0&&b[i][j-1]=='.'){
f=1;
}
if(b[i][j+1]==0&&b[i][j+1]=='.'){
f=1;
}
if(f){
a[i][j]='.';
}
}
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
if(a[i][j]=='#'){
a[i][j]='.';
s++;
dfs(i+1,j);
dfs(i-1,j);
dfs(i,j+1);
dfs(i,j-1);
}
}
}
cout<<s;
return 0;
}
名字是被jc了