#include <iostream> #include <vector> #include <string> using namespace std; int getScore(char c) { if (c == 'l') return 4; if (c == 'o') return 3; if (c == 'v') return 2; if (c == 'e') return 1; return 0; } int main() { int n, m; cin >> n >> m; vector<string> grid(n + 1); // 1-based for (int i = 1; i <= n; ++i) { cin >> grid[i]; grid[i] = " " + grid[i]; // 使列也从1开始 } vector<vector<int>> dp(n + 1, vector<int>(m + 1, 0)); for (int i = 1; i <= n; ++i) for (int j = 1; j <= m; ++j) { int s = getScore(grid[i][j]); dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]) + s; } cout << dp[n][m] << endl; return 0; }