#include<iostream>
#include<string>
using namespace std;

#define in cin
//#include<fstream>
//ifstream in("2485.txt");

struct letras {
    char letra;
    int cant;
};

bool operator < (const letras& l1, const letras& l2) {
    return (l1.cant < l2.cant) || (l1.cant == l2.cant && l1.letra > l2.letra);
}

bool operator > (const letras& l1, const letras& l2) {
    return (l1.cant > l2.cant) || (l1.cant == l2.cant && l1.letra < l2.letra);
}

template <class T>
void quicksort(T a[], int izq, int der) {
    int i = izq, j = der;
    T x = a[(izq+der)/2], temp;
    while (i <= j) {
        while (a[i] > x) i++;
        while (a[j] < x) j--;
        if (i <= j) {
            temp = a[i]; a[i] = a[j]; a[j] = temp;
            i++; j--;
        }
    }
    if (izq < j) quicksort(a, izq, j);
    if (i < der) quicksort(a, i, der);
}

int main() {
    int n;
    letras l[5];
    string entrada;
    while (getline(in, entrada) && entrada != "#") {
        l[0].letra = 'a';
        l[1].letra = 'e';
        l[2].letra = 'i';
        l[3].letra = 'o';
        l[4].letra = 'u';
        for (int i = 0; i < 5; i++)
            l[i].cant = 0;
        int n = entrada.length();
        for (int i = 0; i < n; i++) {
            char letra = tolower(entrada[i]);
            switch(letra) {
                case 'a': l[0].cant++; break;
                case 'e': l[1].cant++; break;
                case 'i': l[2].cant++; break;
                case 'o': l[3].cant++; break;
                case 'u': l[4].cant++; break;
            }
        }
        quicksort(l, 0, 4);
        cout << l[0].letra << ":" << l[0].cant << " " << l[1].letra << ":" << l[1].cant << " " << l[2].letra << ":" << l[2].cant << " " << l[3].letra << ":" << l[3].cant << " " << l[4].letra << ":" << l[4].cant << "." << endl;
    }
    //getchar();
    return 0;
}

