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 <iostream>
#include <vector>
#include <string>

using namespace std;

int is_samo(char a) {
	if (a == 'a' || a == 'e' || a == 'i' || a == 'o' || a == 'u' || a == 'y') {
		return 1;
	}
	else {
		return 0;
	}
}

int main() {
	
	string w;
	cin >> w;
	vector <int> t;
	long long suma = 0,dlugosc_w,dlugosc_t;
	for (int i = 0; i < w.size() - 2; i++) {
		if (is_samo(w[i]) == is_samo(w[i + 1]) && is_samo(w[i + 1]) == is_samo(w[i + 2])) {
			t.push_back(i);
		}
	}
	//cout << w.max_size();
	dlugosc_t = t.size();
	dlugosc_w = w.size();
	
	if (dlugosc_t == 1) {
		suma += (t[0] + 1)*(dlugosc_w - t[0] - 2);
	}
	else if (dlugosc_t >= 2) {
		suma += (t[0] + 1)*(dlugosc_w - t[0] - 2);
	}
	for (int i = 1; i < dlugosc_t; i++) {
		suma += (t[i] - t[i - 1])*(dlugosc_w - t[i] - 2);
	}

	cout << suma;

 return 0;
}