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
#include <bits/stdc++.h>
using namespace std;

const int N = 2e5 + 5;

bool tab[N];

string str;

long long odp = 0;

bool samogloska(char c){
    if(c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u' || c == 'y')
        return 1;
    return 0;
}

int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
    cin >> str;
    for(int i = 0; i < str.size(); i++){
        if(i < 2) continue;
        bool a = samogloska( str[i - 2] );
        bool b = samogloska( str[i - 1] );
        bool c = samogloska( str[i] );
        if(a == b && b == c)
            tab[i] = 1;
    }

    int q = 0;
    for(int i = 0; i < str.size(); i++){
        while(q < i + 2 || tab[q] == 0)
            q++;
        if(q < str.size())
            odp += str.size() - q;
    }

    cout << odp << "\n";
}