#include <iostream>
#include <vector>
using namespace std;
int score(char s){
if(s=='l'){
return 4;
}else if(s=='o'){
return 3;
}else if(s=='v'){
return 2;
}else if(s=='e'){
return 1;
}else{
return 0;
}
}
int main() {
int n,m;
cin>>n>>m;
vector<vector<char>> grid(n,vector<char>(m));
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cin>>grid[i][j];
}
}
vector<vector<int>> dp(n,vector<int>(m,0));//dp[i][j]表示网格i,j处的最高得分
dp[0][0]=score(grid[0][0]);
for(int i=1;i<n;i++){
dp[i][0]=dp[i-1][0]+score(grid[i][0]);
}
for(int j=1;j<m;j++){
dp[0][j]=dp[0][j-1]+score(grid[0][j]);
}
for(int i=1;i<n;i++){
for(int j=1;j<m;j++){
dp[i][j]=max(dp[i-1][j],dp[i][j-1])+score(grid[i][j]);
}
}
cout<<dp[n-1][m-1];
return 0;
}
// 64 位输出请用 printf("%lld")