#define _USE_MATH_DEFINES #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int solve1(string& s) { int n = s.size(); int i = 0; int ans = 0; string t; while(i < n){ if(s.substr(i, 5) == "phnom"){ t += "penh"; i += 5; ++ ans; } else{ t += s[i]; ++ i; } } s = move(t); return ans; } int solve2(string& s) { if(s.find('h') == string::npos && s.find('e') == string::npos) return 0; int n = s.size(); string t; for(int i=0; i> s; int ans = 0; for(int i=0; i<2; ++i){ ans += solve1(s); ans += solve2(s); } int n = s.size(); int maxLen = (s.find('h') == string::npos)? 0 : 1; int i = 0; while(i < n){ if(s.substr(i, 5) == "phnom"){ i += 5; int len = 1; while(i < n && s.substr(i, 2) == "om"){ i += 2; ++ len; } ans += len; maxLen = max(maxLen, len + 1); } else{ ++ i; } } ans += maxLen; cout << ans << endl; return 0; }