#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
//#define print_input
int isvowel (char alphabet)
{
if (alphabet == 'A' || alphabet == 'E' || alphabet == 'I' || alphabet == 'O' || alphabet == 'U')
return 1 ;
else if (alphabet == 'a' || alphabet == 'e' || alphabet == 'i' || alphabet == 'o' || alphabet == 'u')
return 1 ;
else
return 0 ;
}
int compare(const void* ptr1 , const void* ptr2 )
{
char* word_1 = (char* )ptr1 ;
char* word_2 = (char* )ptr2 ;
return -1 ;
return 1 ;
int i ;
int sum_1 = 0 ;
int sum_2 = 0 ;
for(i
= 0 ; i
< strlen(word_1
) ; i
++) sum_1 ++ ;
for(i
= 0 ; i
< strlen(word_2
) ; i
++) sum_2 ++ ;
if (sum_1 < sum_2 )
return -1 ;
else if (sum_1 > sum_2)
return 1 ;
int vowel_1 = 0 ;
int vowel_2 = 0 ;
for(i
= 0 ; i
< strlen(word_1
) ; i
++) if (isvowel(word_1[i]) )
vowel_1 ++ ;
for(i
= 0 ; i
< strlen(word_2
) ; i
++) if (isvowel(word_2[i]) )
vowel_2 ++ ;
if (vowel_1 < vowel_2)
return -1 ;
else if (vowel_1 > vowel_2)
return 1 ;
else
return (strcmp(word_1
, word_2
)) ;
}
int main(void)
{
char input[100][80] ;
int i = 0 ;
int j ;
while (scanf("%s" , input
[i
]) != EOF
) i++ ;
#ifdef print_input
for(j = 0 ; j < i ; j++)
#endif
qsort(input
, i
- 1 , sizeof(char) * 80 , compare
) ;
for(j = 0 ; j < i ; j++)
return 0 ;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8c3RkbGliLmg+CiNpbmNsdWRlPHN0cmluZy5oPgojaW5jbHVkZTxjdHlwZS5oPgoKLy8jZGVmaW5lIHByaW50X2lucHV0CgppbnQgaXN2b3dlbCAoY2hhciBhbHBoYWJldCkKewogICAgaWYgKGFscGhhYmV0ID09ICdBJyB8fCBhbHBoYWJldCA9PSAnRScgfHwgYWxwaGFiZXQgPT0gJ0knIHx8IGFscGhhYmV0ID09ICdPJyB8fCBhbHBoYWJldCA9PSAnVScpCiAgICAgICAgcmV0dXJuIDEgOwogICAgZWxzZSBpZiAoYWxwaGFiZXQgPT0gJ2EnIHx8IGFscGhhYmV0ID09ICdlJyB8fCBhbHBoYWJldCA9PSAnaScgfHwgYWxwaGFiZXQgPT0gJ28nIHx8IGFscGhhYmV0ID09ICd1JykKICAgICAgICByZXR1cm4gMSA7CiAgICBlbHNlCiAgICAgICAgcmV0dXJuIDAgOwoKfQoKCmludCBjb21wYXJlKGNvbnN0IHZvaWQqIHB0cjEgLCBjb25zdCB2b2lkKiBwdHIyICkKewogICAgY2hhciogd29yZF8xID0gKGNoYXIqIClwdHIxIDsKICAgIGNoYXIqIHdvcmRfMiA9IChjaGFyKiApcHRyMiA7CgogICAgaWYgKHN0cmxlbih3b3JkXzEpIDwgc3RybGVuKHdvcmRfMikgKQogICAgICAgIHJldHVybiAtMSA7CiAgICBlbHNlIGlmIChzdHJsZW4od29yZF8xKSA+IHN0cmxlbih3b3JkXzIpKQogICAgICAgIHJldHVybiAxIDsKCiAgICBpbnQgaSA7CiAgICBpbnQgc3VtXzEgPSAwIDsKICAgIGludCBzdW1fMiA9IDAgOwoKICAgIGZvcihpID0gMCA7IGkgPCBzdHJsZW4od29yZF8xKSA7IGkrKykKICAgICAgICBpZiAoaXN1cHBlcih3b3JkXzFbaV0pICkKICAgICAgICAgICAgc3VtXzEgKysgOwoKICAgIGZvcihpID0gMCA7IGkgPCBzdHJsZW4od29yZF8yKSA7IGkrKykKICAgICAgICBpZiAoaXN1cHBlcih3b3JkXzJbaV0pICkKICAgICAgICAgICAgc3VtXzIgKysgOwoKICAgIGlmIChzdW1fMSA8IHN1bV8yICkKICAgICAgICByZXR1cm4gLTEgOwogICAgZWxzZSBpZiAoc3VtXzEgPiBzdW1fMikKICAgICAgICByZXR1cm4gMSA7CgogICAgaW50IHZvd2VsXzEgPSAwIDsKICAgIGludCB2b3dlbF8yID0gMCA7CgogICAgZm9yKGkgPSAwIDsgaSA8IHN0cmxlbih3b3JkXzEpIDsgaSsrKQogICAgICAgIGlmIChpc3Zvd2VsKHdvcmRfMVtpXSkgKQogICAgICAgICAgICB2b3dlbF8xICsrIDsKCiAgICBmb3IoaSA9IDAgOyBpIDwgc3RybGVuKHdvcmRfMikgOyBpKyspCiAgICAgICAgaWYgKGlzdm93ZWwod29yZF8yW2ldKSApCiAgICAgICAgICAgIHZvd2VsXzIgKysgOwoKICAgIGlmICh2b3dlbF8xIDwgdm93ZWxfMikKICAgICAgICByZXR1cm4gLTEgOwogICAgZWxzZSBpZiAodm93ZWxfMSA+IHZvd2VsXzIpCiAgICAgICAgcmV0dXJuIDEgOwogICAgZWxzZQogICAgICAgIHJldHVybiAoc3RyY21wKHdvcmRfMSAsIHdvcmRfMikpIDsKCgoKCgoKfQoKaW50IG1haW4odm9pZCkKewogICAgY2hhciBpbnB1dFsxMDBdWzgwXSA7CiAgICBpbnQgaSA9IDAgOwogICAgaW50IGogOwoKICAgIHdoaWxlIChzY2FuZigiJXMiICwgaW5wdXRbaV0pICE9IEVPRikKICAgICAgICBpKysgOwoKICAgICNpZmRlZiBwcmludF9pbnB1dAogICAgZm9yKGogPSAwIDsgaiA8IGkgOyBqKyspCiAgICAgICAgcHJpbnRmKCIlcyBcbiIgLCBpbnB1dFtqXSkgOwogICAgI2VuZGlmCgogICAgcXNvcnQoaW5wdXQgLCBpIC0gMSAsIHNpemVvZihjaGFyKSAqIDgwICwgY29tcGFyZSkgOwoKICAgIHByaW50ZigiQWZ0ZXIgc29ydGVkIFxuIikgOwogICAgZm9yKGogPSAwIDsgaiA8IGkgOyBqKyspCiAgICAgICAgcHJpbnRmKCIlcyBcbiIgLCBpbnB1dFtqXSkgOwoKCgoKCgogICAgcmV0dXJuIDAgOwp9CgoK