1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <iostream>
#include <vector>
using namespace std;

bool is_vowel(char z){
    return z == 'a' || z == 'e' || z == 'i' || z == 'o' || z == 'u' || z == 'y';
}

int main(){
    ios_base::sync_with_stdio(0);
    string s;
    unsigned long long int res = 0;
    vector<int> pos;
    pos.push_back(-1);
    cin>>s;

    if(s.length() < 3){
        cout<<0;
        return 0;
    }

    for(int i = 0; i < s.length() - 2; i++){
        if(is_vowel(s[i]) && is_vowel(s[i+1]) && is_vowel(s[i+2])){
            pos.push_back(i);
        }

        if(!is_vowel(s[i]) && !is_vowel(s[i+1]) && !is_vowel(s[i+2])){
            pos.push_back(i);
        }
    }

    for(int i=1;i<pos.size();i++){
        res += (pos[i] - pos[i-1]) * (s.length() - pos[i] - 2);
    }

    cout<<res;

    return 0;
}