/*
 * Soubor:  20101108-Mon-pocty-pismen.c
 * Datum:   08.11.2010 10:05
 * Autor:   Marek Nožka, nozka z@vináč spseol tečka cz
 * Licence: GNU/GPL 
 * Úloha:   počítat výskyty jednotlivých písmen v textu.
 * Popis:   
 */

#include <stdio.h>

/////////////////////////////////////////////////////
#define POCET 'Z'-'A'+1  // počet písmen v abcedě

/*
 * Funkce pro převod malých písmen na velká
 */
int na_velka_pismena(int c) {
    if ( c >= 'a' && c<= 'z') {
        return c - ('a'-'A');
    } else {
        return c;
    }
}

/**
 * Hlavní program.
 */
int main(void) {
    int ppismen[POCET];

    /* inicializace pole*/
    for (int i=0;i<POCET;i++) {
        ppismen[i] = 0;
    }
    int znak;
    while ( (znak = getchar() ) != EOF) {
        znak = na_velka_pismena(znak);
        if ( znak >= 'A' && znak <='Z' ) {
            ppismen[znak - 'A']++;
        }
    }
    /* výpis pole na obrazovku*/
    for (int i=0;i<POCET;i++) {
        printf("%c:%d\n",'A'+i,ppismen[i]);
    }

    /* hledání prvku s maximální četností*/
    int max=0;  // index nejčetnějšího písmene
    for (int i=1;i<POCET;i++) {
        if ( ppismen[i] > ppismen[max] ) {
            max = i;
        }
    }
    printf("Nejčetnější je %c s četností %d\n",'A'+max,ppismen[max]);
    return 0;
}

