from collections import Counter



counter = Counter()



while True:

    try:

        s = eval(input())

        for c in s:

            counter[c.lower()] += 1



    except:

        break



for c in range(ord('a'), ord('z')+1):

    print(('{} : {}'.format(chr(c), counter[chr(c)])))
from collections import Counter

import string



counter = Counter()

while True:

    try:

        s = input().lower()

        counter += Counter(s)

    except EOFError:

        break



for c in string.ascii_lowercase:

    count = counter[c]

    print(f'{c} : {count}')



from collections import Counter

counter = Counter()
while True:
    try:
        s = eval(input())
        for c in s:
            counter[c.lower()] += 1
    except:
        break
for c in range(ord("a"), ord("z") + 1):
    print(("{} : {}".format(chr(c), counter[chr(c)])))

from collections import Counter
import string

counter = Counter()
while True:
    try:
        s = input().lower()
        counter += Counter(s)
    except EOFError:
        break
for c in string.ascii_lowercase:
    count = counter[c]
    print(f"{c} : {count}")

+import string -        s = eval(input()) -        for c in s: -            counter[c.lower()] += 1 -    except: +        s = input().lower() +        counter += Counter(s) +    except EOFError: -for c in range(ord("a"), ord("z") + 1): -    print(("{} : {}".format(chr(c), counter[chr(c)]))) +for c in string.ascii_lowercase: +    count = counter[c] +    print(f"{c} : {count}")