#include<bits/stdc++.h>
using namespace std;
int m[1010][1010],a,n;
int dx[5]={-1,0,1,0},dy[5]={0,1,0,-1};
int main(){
cin>>n;
for(int i=0;i<n;i++){
char a[11];
cin>>a;
for(int j=0;j<n;j++){
if(a[j]=='#') m[i][j]=1;
}
}
int sum=0;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(m[i][j]==1){
int h[100100][3]={0};
h[1][1]=i;h[1][2]=j;
int head=1,tail=1;
while(head<=tail){
for(int k=0;k<4;k++){
int u=h[head][1]+dx[k],v=h[head][2]+dy[k];
if(u>=0 && u<n && v>=0 && v<n && m[u][v]==1){
m[u][v]=-1;
tail++;
h[tail][1]=u;
h[tail][2]=v;
}
}
head++;
}
sum++;
}
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if( abs(m[i+1][j])==1 && abs(m[i-1][j])==1 && abs(m[i][j+1])==1 && abs(m[i][j-1])==1 ){
m[i][j]=2;
}
}
}
int ans=0;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(m[i][j]==2){
int head=1,tail=1;
int h[100100][3]={0};
h[1][1]=i;h[1][2]=j;
while(head<=tail){
for(int k=0;k<4;k++){
int u=h[head][1]+dx[k],v=h[head][2]+dy[k];
if(u>=0 && u<n && v>=0 && v<n && m[u][v]==2){
tail++;
m[u][v]=-1;
h[tail][1]=u;
h[tail][2]=v;
}
}
head++;
}
ans++;
}
}
}
cout<<sum-ans;
return 0;
}