#include <iostream>
using namespace std;
/*
int pary(string s){
int d=s.size(), ile=0;
for (int i=1; i<d; ++i){
if (s[i]==s[i-1]) ile++;
}
return ile;
}
int main() {
string t;
cin >> t;
cout << pary(t);
return 0;
}
//Zadanie 2
string ta(string s){
int d=s.size();
for (int i=0; i<d; ++i){
if (s[i]=='C' or s[i]=='G' or s[i]=='T') s[i]='*';
}
return s;
}
int main() {
string t;
cin >> t;
cout << ta(t);
return 0;
}
//Zadanie 3
int hamming(string s, string t){
int d=s.size(), ile=0;
for (int i=0; i<d; ++i){
if (s[i]!=t[i]) ile++;
}
return ile;
}
int main() {
string t, s;
cin >> t >> s;
cout << hamming(s,t);
return 0;
}
//Zadanie 4
int main(){
string s;
cin>>s;
int d=s.size();
for(int i; i<d; i+=2)
cout<<s[i]<<"";
return 0;
}
//Zadanie 5
int main() {
string kolor, najdluzszy;
for (int i = 0; i < 10; i++) {
cin >> kolor;
if (kolor.size() >= najdluzszy.size())
najdluzszy = kolor;
}
cout << najdluzszy;
return 0;
}
//Zadanie 6
int main() {
string s;
int d = 'a' - 'A';
getline(cin,s);
for (auto x: s){
if (x >= 'A')
if (x <= 'Z') cout << (char)(x+d);
else if (x >= 'a' and x <= 'z')
cout << (char)(x-d);
}
return 0;
}
//Zadanie 7
int main() {
string s;
cin >> s;
for (auto x: s){
if (x >= 'A' and x <= 'Z')
cout << x;
}
return 0;
}
//Zadanie 8
int main(){
string wz, s;
int ile=0;
cin>>wz;
do{
cin>>s;
if (s==wz) ile++;
}while(s!="***");
cout<<ile;
return 0;
}
*/
//Zadanie 9
int ile_sam(string s){
int ile=0;
for(auto x:s){
if (x=='a' or x=='o' or x=='i' or x=='e' or x=='y' or x=='u') ile++;
}
return ile;
}
int main(){
string s;
cin>>s;
cout<<ile_sam(s);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwovKgppbnQgcGFyeShzdHJpbmcgcyl7IAoJaW50IGQ9cy5zaXplKCksIGlsZT0wOyAKCWZvciAoaW50IGk9MTsgaTxkOyArK2kpeyAKCQlpZiAoc1tpXT09c1tpLTFdKSBpbGUrKzsgCgl9IAoJcmV0dXJuIGlsZTsgCn0gCmludCBtYWluKCkgeyAKCXN0cmluZyB0OyAKCWNpbiA+PiB0OyAKCWNvdXQgPDwgcGFyeSh0KTsgCglyZXR1cm4gMDsgCn0KCi8vWmFkYW5pZSAyCnN0cmluZyB0YShzdHJpbmcgcyl7IAoJaW50IGQ9cy5zaXplKCk7IAoJZm9yIChpbnQgaT0wOyBpPGQ7ICsraSl7IAoJCWlmIChzW2ldPT0nQycgb3Igc1tpXT09J0cnIG9yIHNbaV09PSdUJykgc1tpXT0nKic7IAoJfSAKCXJldHVybiBzOyAKfSAKaW50IG1haW4oKSB7IAoJc3RyaW5nIHQ7IAoJY2luID4+IHQ7IAoJY291dCA8PCB0YSh0KTsgCglyZXR1cm4gMDsgCn0KCi8vWmFkYW5pZSAzCmludCBoYW1taW5nKHN0cmluZyBzLCBzdHJpbmcgdCl7IAogaW50IGQ9cy5zaXplKCksIGlsZT0wOyAKIGZvciAoaW50IGk9MDsgaTxkOyArK2kpeyAKICBpZiAoc1tpXSE9dFtpXSkgaWxlKys7IAogfSAKIHJldHVybiBpbGU7IAp9IAppbnQgbWFpbigpIHsgCiBzdHJpbmcgdCwgczsgCiBjaW4gPj4gdCA+PiBzOyAKIGNvdXQgPDwgaGFtbWluZyhzLHQpOyAKIHJldHVybiAwOyAKfSAKCi8vWmFkYW5pZSA0CmludCBtYWluKCl7CglzdHJpbmcgczsKCWNpbj4+czsKCWludCBkPXMuc2l6ZSgpOwoJZm9yKGludCBpOyBpPGQ7IGkrPTIpCgkJY291dDw8c1tpXTw8IiI7CglyZXR1cm4gMDsKfQoKLy9aYWRhbmllIDUKaW50IG1haW4oKSB7CiAgICBzdHJpbmcga29sb3IsIG5hamRsdXpzenk7CiAgICBmb3IgKGludCBpID0gMDsgaSA8IDEwOyBpKyspIHsKICAgICAgICBjaW4gPj4ga29sb3I7CiAgICAgICAgaWYgKGtvbG9yLnNpemUoKSA+PSBuYWpkbHV6c3p5LnNpemUoKSkKICAgICAgICAgICAgbmFqZGx1enN6eSA9IGtvbG9yOwogICAgfQoJY291dCA8PCBuYWpkbHV6c3p5OwogICAgcmV0dXJuIDA7Cn0KCi8vWmFkYW5pZSA2CmludCBtYWluKCkgeyAKIHN0cmluZyBzOyAKIGludCBkID0gJ2EnIC0gJ0EnOyAKIGdldGxpbmUoY2luLHMpOyAKIGZvciAoYXV0byB4OiBzKXsgCiAgaWYgKHggPj0gJ0EnKSAKICAgaWYgKHggPD0gJ1onKSBjb3V0IDw8IChjaGFyKSh4K2QpOyAKICAgZWxzZSBpZiAoeCA+PSAnYScgYW5kIHggPD0gJ3onKSAKICAgIGNvdXQgPDwgKGNoYXIpKHgtZCk7IAogfSAKIHJldHVybiAwOyAKfQoKLy9aYWRhbmllIDcKaW50IG1haW4oKSB7IAogc3RyaW5nIHM7IAogY2luID4+IHM7IAogZm9yIChhdXRvIHg6IHMpeyAKICBpZiAoeCA+PSAnQScgYW5kIHggPD0gJ1onKSAKICAgY291dCA8PCB4OyAKIH0gCiByZXR1cm4gMDsgCn0KCi8vWmFkYW5pZSA4CmludCBtYWluKCl7CglzdHJpbmcgd3osIHM7CglpbnQgaWxlPTA7CgljaW4+Pnd6OwoJZG97CgkJY2luPj5zOwoJCWlmIChzPT13eikgaWxlKys7Cgl9d2hpbGUocyE9IioqKiIpOwoJY291dDw8aWxlOwoJcmV0dXJuIDA7Cn0KKi8KLy9aYWRhbmllIDkKaW50IGlsZV9zYW0oc3RyaW5nIHMpewoJaW50IGlsZT0wOwoJZm9yKGF1dG8geDpzKXsKCQlpZiAoeD09J2EnIG9yIHg9PSdvJyBvciB4PT0naScgb3IgeD09J2UnIG9yIHg9PSd5JyBvciB4PT0ndScpIGlsZSsrOwoJfQoJcmV0dXJuIGlsZTsKfQppbnQgbWFpbigpewoJc3RyaW5nIHM7CgljaW4+PnM7Cgljb3V0PDxpbGVfc2FtKHMpOwoJcmV0dXJuIDA7Cn0=