f = open('/dev/stdin', 'r')

pocetRadku = 0
pocetZnaku = 0
pocetSlov = 0

# slovník do kterého ukládám četnosti znaků jednotlivých písmen
# klíčem je vždy písmeno
cetnostZnaku={}

while True:
    radek=f.readline()
    if radek == '':  
        break       # protože jsem došel na konec souboru
    radek = radek.decode('utf-8') # aby se znaky s diakritikou chovali jako písmeno
    pocetRadku = pocetRadku + 1
    delka=len(radek)
    pocetZnaku += delka         
    pocetSlov += len(radek.split()) # řádek rozdělím na slova
    for znak in radek:  # řádek zpracovávám po znacích
        if znak in (' ','\t', '\n' ):
            continue    # bílé znaky přeskoč
        # četnost jednotlivých znaků
        if cetnostZnaku.has_key(znak):
            cetnostZnaku[znak] += 1
        else:
            cetnostZnaku[znak] = 1          
        
print "----  četnosti znaků    -------------"
for znak in cetnostZnaku.keys():
    pocet = 60 * cetnostZnaku[znak] / max(cetnostZnaku.values())
    graf = '*' * pocet
    print "{0:2s}{1:10} |{2}".format( znak, cetnostZnaku[znak], graf )
print "-------------------------------------"
print "počet řádků:", pocetRadku
print "počet slov:", pocetSlov
print "počet znaků:", pocetZnaku
print "-------------------------------------"
