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
#include <bits/stdc++.h>
using namespace std;
string x, act;
set <int> A = {'a', 'e', 'i', 'o', 'u', 'y'};
long long ans, n, kon;
bool ok(int poc, int kon){
	if (kon - poc + 1 < 3) return true;
	if (A.count(x[kon]) and A.count(x[kon - 1]) and A.count(x[kon - 2]))
		return false;	
	if (!A.count(x[kon]) and !A.count(x[kon - 1]) and !A.count(x[kon - 2]))
		return false;	
	return true;
}
int main(){
	cin >> x;	
	kon = 0;
	n = x.length();

	for (int poc = 0; poc < n; poc ++){
		while (kon < n - 1 and ok(poc, kon + 1)) kon ++;
		ans += (kon - poc + 1); 	
	//	cout << poc << " " << kon << endl;
	}	
	cout << (n + 1) * n / 2 - ans;
	return 0;
}