#include using namespace std; const int INF = 100000; int main(){ int N; cin >> N; string S; cin >> S; string T = "ponpon"; vector> dp(N + 1, vector(7, -INF)); dp[0][0] = 0; for (int i = 0; i < N; i++){ for (int j = 0; j <= 6; j++){ if (dp[i][j] != -INF){ if (S[i] == T[dp[i][j] % 3]){ dp[i + 1][j] = max(dp[i + 1][j], dp[i][j] + 1); } else { dp[i + 1][j] = max(dp[i + 1][j], dp[i][j]); } if (j < 6){ if (S[i] == T[j]){ dp[i + 1][j + 1] = max(dp[i + 1][j + 1], dp[i][j] / 3 * 3); } } } } } if (dp[N][6] == -INF){ cout << -1 << endl; } else { cout << dp[N][6] / 3 << endl; } }