#include <iostream>
#include <cstring>
using namespace std;
const int MAX_SIZE = 100;
const int MAX_STRING = 20;
int noVow(char s[]) {
char vowels[] = "aeiouAEIOU";
int lenght = strlen(s), noVowels = 0;
for (int i = 0; i < lenght; ++i) {
if (strchr(vowels, s[i])) {
++noVowels;
}
}
return noVowels;
}
bool isBigger(char s1[], char s2[]) {
return (s1[0] > s2[0]);
}
void change(char str1[], char str2[]) {
char auxStr[MAX_STRING + 1];
strcpy(auxStr, str1);
strcpy(str1, str2);
strcpy(str2, auxStr);
}
int main()
{ char str[MAX_SIZE + 1][MAX_SIZE + 1];
int nrStr = 0;
while (cin >> str[nrStr] && nrStr < MAX_STRING + 1) {
++nrStr;
}
for (int i = 0; i < nrStr; ++i) {
for (int j = i + 1; j < nrStr; ++j) {
if (noVow(str[i]) > noVow(str[j])) {
change(str[i], str[j]);
} else if (noVow(str[i]) == noVow(str[j]) && isBigger(str[i], str[j]) != 0) {
change(str[i], str[j]);
}
}
}
for (int i = 0; i < nrStr; ++i) {
cout << str[i] << "\n";
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0cmluZz4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNvbnN0IGludCBNQVhfU0laRSA9IDEwMDsKY29uc3QgaW50IE1BWF9TVFJJTkcgPSAyMDsKCmludCBub1ZvdyhjaGFyIHNbXSkgewogICAgY2hhciB2b3dlbHNbXSA9ICJhZWlvdUFFSU9VIjsKICAgIGludCBsZW5naHQgPSBzdHJsZW4ocyksIG5vVm93ZWxzID0gMDsKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbGVuZ2h0OyArK2kpIHsKICAgICAgICBpZiAoc3RyY2hyKHZvd2Vscywgc1tpXSkpIHsKICAgICAgICAgICAgKytub1Zvd2VsczsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gbm9Wb3dlbHM7Cn0KCmJvb2wgaXNCaWdnZXIoY2hhciBzMVtdLCBjaGFyIHMyW10pIHsKICAgIHJldHVybiAoczFbMF0gPiBzMlswXSk7Cn0KCnZvaWQgY2hhbmdlKGNoYXIgc3RyMVtdLCBjaGFyIHN0cjJbXSkgewogICAgY2hhciBhdXhTdHJbTUFYX1NUUklORyArIDFdOwogICAgc3RyY3B5KGF1eFN0ciwgc3RyMSk7CiAgICBzdHJjcHkoc3RyMSwgc3RyMik7CiAgICBzdHJjcHkoc3RyMiwgYXV4U3RyKTsKfQoKaW50IG1haW4oKQp7ICAgY2hhciBzdHJbTUFYX1NJWkUgKyAxXVtNQVhfU0laRSArIDFdOwogICAgaW50IG5yU3RyID0gMDsKICAgIHdoaWxlIChjaW4gPj4gc3RyW25yU3RyXSAmJiBuclN0ciA8IE1BWF9TVFJJTkcgKyAxKSB7CiAgICAgICAgKytuclN0cjsKICAgIH0KICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbnJTdHI7ICsraSkgewogICAgICAgIGZvciAoaW50IGogPSBpICsgMTsgaiA8IG5yU3RyOyArK2opIHsKICAgICAgICAgICAgaWYgKG5vVm93KHN0cltpXSkgPiBub1ZvdyhzdHJbal0pKSB7CiAgICAgICAgICAgICAgICBjaGFuZ2Uoc3RyW2ldLCBzdHJbal0pOwogICAgICAgICAgICB9IGVsc2UgaWYgKG5vVm93KHN0cltpXSkgPT0gbm9Wb3coc3RyW2pdKSAmJiBpc0JpZ2dlcihzdHJbaV0sIHN0cltqXSkgIT0gMCkgewogICAgICAgICAgICAgICAgY2hhbmdlKHN0cltpXSwgc3RyW2pdKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbnJTdHI7ICsraSkgewogICAgICAgIGNvdXQgPDwgc3RyW2ldIDw8ICJcbiI7CiAgICB9CiAgICByZXR1cm4gMDsKfQ==