#include<bits/stdc++.h>
#define L 550
#define N 550
using namespace std;
int ans=0,l=0,n=0,s=0;
char mp[N][L]={},in[L]={};
bool sn[N][L]={};
inline void dfs(int x,int y);
int main(){
scanf("%d",&n);
cin.getline(in+1,10);
for(int i=1;i<=n;i++){
cin.getline(mp[i]+1,200);
int lth=strlen(mp[i]+1);
l=max(l,lth);
}
for(int i=1;i<=n;i++){
for(int j=1;j<=l;j++){
if(mp[i][j]>='a'&&mp[i][j]<='z'){
mp[i][j]='@';
}else{
mp[i][j]='#';
}
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=l;j++){
s=0;
dfs(i,j);
if(s>0){
ans++;
}
}
}
printf("%d\n",ans);
return 0;
}
inline void dfs(int x,int y){
if(x<1||y<1||x>n||y>l||mp[x][y]=='#'){
return;
}
if(sn[x][y]==true){
return;
}
sn[x][y]=true;
s++;
dfs(x-1,y);
dfs(x+1,y);
dfs(x,y-1);
dfs(x,y+1);
return;
}