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
40
41
42
43
44
#include <bits/stdc++.h>

using namespace std;
bool sz(char k){
    for(int i=0; i<=5; i++){
        if(k=='a' || k=='u' || k=='y' || k=='e' || k=='o' || k=='i'){
            return true;
        }
    }return false;
}
int main(){
    string g;

    long long wyn,zm;
    cin >> g;
    wyn=0;
    if(g.size()<=2){
        wyn=0;
    }else{
    for(int i=0; i<=g.size()-3; i++){
        if(wyn==0){
            if(sz(g[i])==false && sz(g[i+1])==false && sz(g[i+2])==false){
                wyn+=i+1;
                wyn+=(g.size() - (i+3)) * (i+1);
                zm=i;
            }else if(sz(g[i])==true && sz(g[i+1])==true && sz(g[i+2])==true){
                wyn+=i+1;
                wyn+=(g.size() - (i+3)) * (i+1);
                zm=i;
            }
        }else if(wyn>0){
            if(sz(g[i])==false && sz(g[i+1])==false && sz(g[i+2])==false){
                wyn+=(i+1)-(zm+1);
                wyn+=(g.size() - (i+3)) * ((i+1)-(zm+1));
                zm=i;
            }else if(sz(g[i])==true && sz(g[i+1])==true && sz(g[i+2])==true){
                wyn+=(i+1)-(zm+1);
                wyn+=(g.size() - (i+3)) * ((i+1)-(zm+1));
                zm=i;
            } 
        }
    }}
      cout << wyn;
}