#include <bits/stdc++.h>
using namespace std;
int n,m;
int v[1145][1145];
char mp[1145][1145];
struct node{
int x,y;
}b[1919810];
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
cin>>mp[i][j];
if(mp[i][j]=='o')v[i][j]=1;
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
string st=" ";
int x=i,y=j;
int ans=1;
while(v[x][y]==0){
if(x>n||y>m||x<1||y<1){
ans=-1;
break;
}
st=st+mp[x][y];
v[x][y]=2;
if(mp[x][y]=='u')x--;
else if(mp[x][y]=='d')x++;
else if(mp[x][y]=='l')y--;
else if(mp[x][y]=='r')y++;
}
int l=st.size()-1;
for(int k=l;k>=1;k--){
if(st[k]=='u')x++;
else if(st[k]=='d')x--;
else if(st[k]=='l')y++;
else if(st[k]=='r')y--;
v[x][y]=ans;
}
}
}
int tnt=0;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(v[i][j]==1)tnt++;
}
}cout<<tnt;
return 0;
}