#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")