#include #include #include #include #include #include #include #include #include #include static const int MOD = 1000000007; using ll = long long; using u32 = uint32_t; using namespace std; template constexpr T INF = ::numeric_limits::max() / 32 * 15 + 208; int main() { int n; string s; cin >> n >> s; int ans = 0, y = 0, u = 0, k = 0, i = 0; string t; for (auto &&j : s) { if(j == 'y') y++; else if(j == 'u') u++; else if(j == 'k') k++; else if(j == 'i') i++; else t += j; } sort(t.begin(),t.end(), greater<>()); while(y && u && k && i){ if(t.empty() || t.back() > 'i'){ if(i == 1) break; y--; u--; k--; i--; i--; ans++; }else { if(t.back() <= 'i') y--, u--, k--, i--, t.pop_back(), ans++; } } while(y && u && k){ if(t.empty() || t.back() > 'k'){ if(k == 1) break; y--; u--; k--; k--; ans++; }else { while(!t.empty() && t.back() <= 'i') t.pop_back(); if(t.back() <= 'k') y--, u--, k--, t.pop_back(), ans++; } } while(y && u){ if(t.empty() || t.back() > 'u'){ if(u == 1) break; y--; u--; u--; ans++; }else { while(!t.empty() && t.back() <= 'k') t.pop_back(); if(t.back() <= 'u') y--, u--, t.pop_back(), ans++; } } while(y){ if(t.empty() || t.back() > 'y'){ if(y == 1) break; y--; y--; ans++; }else { while(!t.empty() && t.back() <= 'u') t.pop_back(); if(t.back() <= 'y') y--, t.pop_back(), ans++; } } while(!t.empty() && t.back() <= 'y') t.pop_back(); cout << ans + t.size() << "\n"; return 0; }