#include <bits/stdc++.h>
using namespace std;
#define int long long int
#define double long double
#define print(a) for(auto x : a) cout << x << " "; cout << endl
const int M = 1000000007;
const int N = 3e5+9;
const int INF = 2e9+1;
const int LINF = 2000000000000000001;
inline int power(int a, int b, int mod=M) {
int x = 1;
a %= mod;
while (b) {
if (b & 1) x = (x * a) % mod;
a = (a * a) % mod;
b >>= 1;
}
return x;
}
//_ ***************************** START Below *******************************
string a;
int consistency1(int n){
vector<char> order = {'a','e','i','o','u'};
vector<vector<int>> dp(n+1, vector<int>(5, 0)); // to maximize , set to null == 0 (in case of length)
for(int i=0; i<5; i++) dp[0][i] = 0;
for(int i=1; i<=n; i++){
//* for 'a' case
if(a[i-1] == 'a'){
dp[i][0] = dp[i-1][0]+1;
}
else{
dp[i][0] = dp[i-1][0];
}
//* for 'e' , 'i' , 'o', 'u' cases
for(int k=1; k<5; k++){
int ct = 0;
if(a[i-1] == order[k]) ct = 1;
int j = i-1;
while(j >= 0){
if (dp[j][k-1] > 0) dp[i][k] = max(dp[i][k], dp[j][k-1] + ct);
if (dp[j][k] > 0) dp[i][k] = max(dp[i][k], dp[j][k] + ct);
if (ct == 0) {
dp[i][k] = max(dp[i][k], dp[j][k-1]);
dp[i][k] = max(dp[i][k], dp[j][k]);
}
j--;
}
}
}
return dp[n][4];
}
int consistency2(int n){
vector<vector<int>> dp(n+1, vector<int>(5, 0)); // to maximize , set to null == 0 (in case of length)
for(int i=0; i<5; i++) dp[0][i] = 0;
vector<char> order = {'a','e','i','o','u'};
for(int i=1; i<=n; i++){
//* for 'a' case
if(a[i-1] == 'a') dp[i][0] = dp[i-1][0]+1;
else dp[i][0] = dp[i-1][0];
//* for 'e', 'i', 'o', 'u' case
for(int k=1; k<5; k++){
if (a[i-1] == order[k]) {
if (dp[i-1][k-1] > 0 || dp[i-1][k] > 0) {
dp[i][k] = max(dp[i-1][k-1], dp[i-1][k]) + 1;
}
} else {
dp[i][k] = dp[i-1][k];
}
}
}
return dp[n][4];
}
int practice(int n){
return 0;
}
void solve() {
int n;
cin >> a;
n = a.size();
cout << consistency1(n) << " " << consistency2(n) << endl;
}
int32_t main() {
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
int t = 1;
// cin >> t;
while (t--) {
solve();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgaW50ICAgICAgICAgICAgICBsb25nIGxvbmcgaW50CiNkZWZpbmUgZG91YmxlICAgICAgICAgICBsb25nIGRvdWJsZQojZGVmaW5lIHByaW50KGEpICAgICAgICAgZm9yKGF1dG8geCA6IGEpIGNvdXQgPDwgeCA8PCAiICI7IGNvdXQgPDwgZW5kbAoKCmNvbnN0IGludCBNID0gMTAwMDAwMDAwNzsKY29uc3QgaW50IE4gPSAzZTUrOTsKY29uc3QgaW50IElORiA9IDJlOSsxOwpjb25zdCBpbnQgTElORiA9IDIwMDAwMDAwMDAwMDAwMDAwMDE7CgppbmxpbmUgaW50IHBvd2VyKGludCBhLCBpbnQgYiwgaW50IG1vZD1NKSB7CiAgICBpbnQgeCA9IDE7CiAgICBhICU9IG1vZDsKICAgIHdoaWxlIChiKSB7CiAgICAgICAgaWYgKGIgJiAxKSB4ID0gKHggKiBhKSAlIG1vZDsgCiAgICAgICAgYSA9IChhICogYSkgJSBtb2Q7CiAgICAgICAgYiA+Pj0gMTsKICAgIH0KICAgIHJldHVybiB4Owp9CgoKLy9fICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFNUQVJUIEJlbG93ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCgoKCnN0cmluZyBhOwoKaW50IGNvbnNpc3RlbmN5MShpbnQgbil7Cgl2ZWN0b3I8Y2hhcj4gb3JkZXIgPSB7J2EnLCdlJywnaScsJ28nLCd1J307CgkKCQoJdmVjdG9yPHZlY3RvcjxpbnQ+PiBkcChuKzEsIHZlY3RvcjxpbnQ+KDUsIDApKTsgLy8gdG8gbWF4aW1pemUgLCBzZXQgdG8gbnVsbCA9PSAwIChpbiBjYXNlIG9mIGxlbmd0aCkKCWZvcihpbnQgaT0wOyBpPDU7IGkrKykgZHBbMF1baV0gPSAwOwoJCglmb3IoaW50IGk9MTsgaTw9bjsgaSsrKXsKCQkKCQkvLyogZm9yICdhJyBjYXNlIAoJCWlmKGFbaS0xXSA9PSAnYScpewoJCQlkcFtpXVswXSA9IGRwW2ktMV1bMF0rMTsKCQl9CgkJZWxzZXsKCQkJZHBbaV1bMF0gPSBkcFtpLTFdWzBdOwoJCX0KCQkKCQkvLyogZm9yICdlJyAsICdpJyAsICdvJywgJ3UnIGNhc2VzIAoJCWZvcihpbnQgaz0xOyBrPDU7IGsrKyl7CgkJCQoJCQlpbnQgY3QgPSAwOwoJCQlpZihhW2ktMV0gPT0gb3JkZXJba10pIGN0ID0gMTsKCQkJCgkJCWludCBqID0gaS0xOwoJCQl3aGlsZShqID49IDApewoJCQkgICAgaWYgKGRwW2pdW2stMV0gPiAwKSBkcFtpXVtrXSA9IG1heChkcFtpXVtrXSwgZHBbal1bay0xXSArIGN0KTsKCQkJICAgIGlmIChkcFtqXVtrXSA+IDApICAgZHBbaV1ba10gPSBtYXgoZHBbaV1ba10sIGRwW2pdW2tdICsgY3QpOwoJCQkgICAgCgkJCSAgICBpZiAoY3QgPT0gMCkgewoJCQkgICAgICAgIGRwW2ldW2tdID0gbWF4KGRwW2ldW2tdLCBkcFtqXVtrLTFdKTsKCQkJICAgICAgICBkcFtpXVtrXSA9IG1heChkcFtpXVtrXSwgZHBbal1ba10pOwoJCQkgICAgfQoJCQkgICAgai0tOwoJCQl9CgkJfQoJfQoJCglyZXR1cm4gZHBbbl1bNF07Cgp9CgoKCgoKCmludCBjb25zaXN0ZW5jeTIoaW50IG4pewoKCXZlY3Rvcjx2ZWN0b3I8aW50Pj4gZHAobisxLCB2ZWN0b3I8aW50Pig1LCAwKSk7IC8vIHRvIG1heGltaXplICwgc2V0IHRvIG51bGwgPT0gMCAoaW4gY2FzZSBvZiBsZW5ndGgpCglmb3IoaW50IGk9MDsgaTw1OyBpKyspIGRwWzBdW2ldID0gMDsKCQoJdmVjdG9yPGNoYXI+IG9yZGVyID0geydhJywnZScsJ2knLCdvJywndSd9OwoJCglmb3IoaW50IGk9MTsgaTw9bjsgaSsrKXsKCQkKCQkvLyogZm9yICdhJyBjYXNlIAoJCWlmKGFbaS0xXSA9PSAnYScpCWRwW2ldWzBdID0gZHBbaS0xXVswXSsxOwoJCWVsc2UJZHBbaV1bMF0gPSBkcFtpLTFdWzBdOwoJCQoJCS8vKiBmb3IgJ2UnLCAnaScsICdvJywgJ3UnIGNhc2UgCgkJZm9yKGludCBrPTE7IGs8NTsgaysrKXsKCQkJaWYgKGFbaS0xXSA9PSBvcmRlcltrXSkgewoJCQkgICAgaWYgKGRwW2ktMV1bay0xXSA+IDAgfHwgZHBbaS0xXVtrXSA+IDApIHsKCQkJICAgICAgICBkcFtpXVtrXSA9IG1heChkcFtpLTFdW2stMV0sIGRwW2ktMV1ba10pICsgMTsKCQkJICAgIH0KCQkJfSBlbHNlIHsKCQkJICAgIGRwW2ldW2tdID0gZHBbaS0xXVtrXTsKCQkJfQoJCX0KCX0KCQoJcmV0dXJuIGRwW25dWzRdOwoKfQoKCgoKCgoKCgoKCgoKCgoKCgppbnQgcHJhY3RpY2UoaW50IG4pewoKCiAgICByZXR1cm4gMDsKfQoKCgoKCnZvaWQgc29sdmUoKSB7CiAgICAKICAgIGludCBuOwogICAgCgljaW4gPj4gYTsKCW4gPSBhLnNpemUoKTsKICAgIAogICAgY291dCA8PCBjb25zaXN0ZW5jeTEobikgPDwgIiAiIDw8IGNvbnNpc3RlbmN5MihuKSA8PCBlbmRsOwoKCn0KCgoKCgppbnQzMl90IG1haW4oKSB7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOyBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKCiAgICBpbnQgdCA9IDE7CiAgICAvLyBjaW4gPj4gdDsKICAgIHdoaWxlICh0LS0pIHsKICAgICAgICBzb2x2ZSgpOwogICAgfQoKICAgIHJldHVybiAwOwp9