#include<iostream>
#include<cstring>
using namespace std;
int n,m,ans,vis[1010][1010];char a[1010][1010];
int dfs(int x,int y){
if(x<1||x>n||y<1||y>m||vis[x][y])return 0;
vis[x][y]=1;
if(a[x][y]=='u')dfs(x-1,y);
else if(a[x][y]=='d')dfs(x+1,y);
else if(a[x][y]=='l')dfs(x,y-1);
else if(a[x][y]=='r')dfs(x,y+1);
else return 1;
}
int main(){
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)cin>>a[i][j];
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
memset(vis,0,sizeof(vis)),ans+=dfs(i,j);
printf("%d",ans);return 0;
}