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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# include <cstdio>


const int MAX_WORD_SIZE = 300011;
const int MAX_ASCII_SIZE = 255;


void initialize_vowels( bool vowels[ ] ) {
  for ( int i = 0; i < MAX_ASCII_SIZE; i ++ ) {
    vowels[ i ] = 0;
  }
  vowels[ 'a' ] = 1;
  vowels[ 'e' ] = 1;
  vowels[ 'i' ] = 1;
  vowels[ 'o' ] = 1;
  vowels[ 'u' ] = 1;
  vowels[ 'y' ] = 1;
}


void solve( char word[ ], bool vowels[ ] ) {
  int word_length = 0;
  int vowels_count = 0;
  int consonants_count = 0;
  int hard_fragment_positions[ MAX_WORD_SIZE ];
  int hard_fragment_positions_size = 0;
  long long total_hard_fragments = 0;

  while ( word_length < 2 ) {
    if ( word[ word_length ] == '\0' ) {
      printf( "0" );
      return;
    }
    vowels_count += vowels[ word[ word_length ] ];
    consonants_count += 1 - vowels[ word[ word_length ] ];
    word_length ++;
  }
  while ( word[ word_length ] != '\0' ) {
    vowels_count += vowels[ word[ word_length ] ];
    consonants_count += 1 - vowels[ word[ word_length ] ];
    if ( vowels_count == 3 || consonants_count == 3 ) {
      hard_fragment_positions[ hard_fragment_positions_size ] = word_length;
      hard_fragment_positions_size ++;
    }
    vowels_count -= vowels[ word[ word_length - 2 ] ];
    consonants_count -= 1 - vowels[ word[ word_length - 2 ] ];
    word_length ++;
  }

  hard_fragment_positions[ hard_fragment_positions_size ] = word_length - 1;
  hard_fragment_positions_size ++;

  for ( int i = 0; i < hard_fragment_positions_size - 1; i ++ ) {
    const int pos = hard_fragment_positions[ i ];
    const int next_pos = hard_fragment_positions[ i + 1 ];
    total_hard_fragments += ( pos - 1 ) * ( next_pos - pos );
  }

  printf( "%lld", total_hard_fragments );
}


int main() {
  char word[ MAX_WORD_SIZE ];
  bool vowels[ MAX_ASCII_SIZE ];
  initialize_vowels( vowels );
  fgets( word, MAX_WORD_SIZE, stdin );
  solve( word, vowels );
  return 0;
}