'''
ITP-1_8-C
 ?????????????????????
?????????????????±??????????????????????????¢???????????????????????°?????°??????????????°????????????????????????????????? 
??????????°?????????¨??§??????????????\???????????????
???Input
?????°????????????????????????????????±???????????????????????????
???Output
?????????????????±???????????????????????¢???????????????????????°?????\??????????????¢?????§????????????????????????
a : a????????°
b : b????????°
c : c????????°
  .
  .
z : z????????°
'''
# inputData
# inputData = input()
# cnt = [0]*26
# 
# for i in range(len(inputData)):
#     if "a" == inputData[i] or inputData[i] =="A":
#         cnt[0] += 1
#     elif "b" == inputData[i] or inputData[i] =="B":
#         cnt[1] += 1
#     elif "c" == inputData[i] or inputData[i] =="C":
#         cnt[2] += 1
#     elif "d" == inputData[i] or inputData[i] =="D":
#         cnt[3] += 1
#     elif "e" == inputData[i] or inputData[i] =="E":
#         cnt[4] += 1
#     elif "f" == inputData[i] or inputData[i] =="F":
#         cnt[5] += 1
#     elif "g" == inputData[i] or inputData[i] =="G":
#         cnt[6] += 1
#     elif "h" == inputData[i] or inputData[i] =="H":
#         cnt[7] += 1
#     elif "i" == inputData[i] or inputData[i] =="I":
#         cnt[8] += 1
#     elif "j" == inputData[i] or inputData[i] =="J":
#         cnt[9] += 1
#     elif "k" == inputData[i] or inputData[i] =="K":
#         cnt[10] += 1
#     elif "l" == inputData[i] or inputData[i] =="L":
#         cnt[11] += 1
#     elif "m" == inputData[i] or inputData[i] =="M":
#         cnt[12] += 1
#     elif "n" == inputData[i] or inputData[i] =="N":
#         cnt[13] += 1
#     elif "o" == inputData[i] or inputData[i] =="O":
#         cnt[14] += 1
#     elif "p" == inputData[i] or inputData[i] =="P":
#         cnt[15] += 1
#     elif "q" == inputData[i] or inputData[i] =="Q":
#         cnt[16] += 1
#     elif "r" == inputData[i] or inputData[i] =="R":
#         cnt[17] += 1
#     elif "s" == inputData[i] or inputData[i] =="S":
#         cnt[18] += 1
#     elif "t" == inputData[i] or inputData[i] =="T":
#         cnt[19] += 1
#     elif "u" == inputData[i] or inputData[i] =="U":
#         cnt[20] += 1
#     elif "v" == inputData[i] or inputData[i] =="V":
#         cnt[21] += 1
#     elif "w" == inputData[i] or inputData[i] =="W":
#         cnt[22] += 1
#     elif "x" == inputData[i] or inputData[i] =="X":
#         cnt[23] += 1
#     elif "y" == inputData[i] or inputData[i] =="Y":
#         cnt[24] += 1
#     elif "z" == inputData[i] or inputData[i] =="Z":
#         cnt[25] += 1
# 
# print ('a : %d' % (cnt[0]))
# print ('b : %d' % (cnt[1]))
# print ('c : %d' % (cnt[2]))
# print ('d : %d' % (cnt[3]))
# print ('e : %d' % (cnt[4]))
# print ('f : %d' % (cnt[5]))
# print ('g : %d' % (cnt[6]))
# print ('h : %d' % (cnt[7]))
# print ('i : %d' % (cnt[8]))
# print ('j : %d' % (cnt[9]))
# print ('k : %d' % (cnt[10]))
# print ('l : %d' % (cnt[11]))
# print ('m : %d' % (cnt[12]))
# print ('n : %d' % (cnt[13]))
# print ('o : %d' % (cnt[14]))
# print ('p : %d' % (cnt[15]))
# print ('q : %d' % (cnt[16]))
# print ('r : %d' % (cnt[17]))
# print ('s : %d' % (cnt[18]))
# print ('t : %d' % (cnt[19]))
# print ('u : %d' % (cnt[20]))
# print ('v : %d' % (cnt[21]))
# print ('w : %d' % (cnt[22]))
# print ('x : %d' % (cnt[23]))
# print ('y : %d' % (cnt[24]))
# print ('z : %d' % (cnt[25]))

import sys
string = []
for line in sys.stdin:
    string += line.lower()
A = 'abcdefghijklmnopqrstuvwxyz'
for cnt0 in A:
    print(cnt0+' : {}'.format(string.count(cnt0)))

Measured memory_bytes: 7436