// BFS
#include<bits/stdc++.h>
using namespace std;
#define mem( a,v ) memset( a,v,sizeof( a ) )
const int N=1111;
char mp[N][N];
bool used[N][N];
int dx[4]={ -1,1,0,0 };
int dy[4]={ 0,0,-1,1 };
int flag=1;
void bfs( int x,int y )
{
queue< pair<int,int> > q;
pair< int,int > t;
int nx,ny,i;
q.push( { x,y } );
used[x][y]=1;
while( q.size() )
{
t=q.front(); q.pop();
for( i=0;i<4;i++ )
{
nx=t.first+dx[i],ny=t.second+dy[i];
if( mp[nx][ny]!='#' ) break;
}
if( i==4 ) flag=1;
for( i=0;i<4;i++ )
{
nx=t.first+dx[i],ny=t.second+dy[i];
if( used[nx][ny]==0 && mp[nx][ny]=='#' )
{
used[nx][ny]=1; //
q.push( { nx,ny } );
}
}
}
}
void init() { mem( mp,0 ); mem( used,0 ); }
int main()
{
int n,i,j,ans;
while( cin>>n )
{
init();
for( i=0;i<n;i++ )
{
cin.get();
for( j=0;j<n;j++ ) cin>>mp[i][j];
}
ans=0;
for( i=0;i<n;i++ )
for( j=0;j<n;j++ )
if( used[i][j]==0 && mp[i][j]=='#' )
{
flag=0;
bfs( i,j );
if( flag==0 ) ans++;
}
cout<<ans<<endl;
}
return 0;
}