#include <iostream>
using namespace std;

char T[102][102];

void DFS(int y,int x,char f){

	if(T[y][x]!=f)
		return;

	T[y][x]='?';

	DFS(y-1,x  ,f);
	DFS(y-1,x+1,f);
	DFS(y  ,x+1,f);
	DFS(y+1,x+1,f);
	DFS(y+1,x  ,f);
	DFS(y+1,x-1,f);
	DFS(y  ,x-1,f);
	DFS(y-1,x-1,f);
}

int main(){
	
	int h,w;
	cin>>h>>w;

	for(int i=1;i<=h;i++){
		for(int j=1;j<=w;j++){
			cin>>T[i][j];
		}
	}

	int count=0;
	
	for(int i=1;i<=h;i++){
		for(int j=1;j<=w;j++){
			if(T[i][j]=='@'){
				count++;
				DFS(i,j,'@');
			}
		}

	}

	for(int i=1;i<=h;i++){
		for(int j=1;j<=w;j++){
			if(T[i][j]=='#'){
				count++;
				DFS(i,j,'#');
			}
		}

	}

	for(int i=1;i<=h;i++){
		for(int j=1;j<=w;j++){
			if(T[i][j]=='*'){
				count++;
				DFS(i,j,'*');
			}
		}

	}

	cout<<count<<endl;

	return 0;
}