Загрузка данных


# # №1
# n = int(input())
# d = {}
# for _ in range(n):
#     en_w, ru_w = input().split(' - ')
#     d[en_w.strip()] = ru_w.strip()
# s_w = input().strip()
# print(d.get(s_w, "Не найдено"))
#
# №2
# grades = list(map(int, input().split()))
# grade_c = {}
# for grade in grades:
#     grade_c[grade] = grade_c.get(grade, 0) + 1
# for grade in sorted(grade_c.keys()):
#     print(f"{grade}: {grade_c[grade]}")
#
# # №3
# s1_raw = input().split()
# s2_raw = input().split()
# total = {}
# for item in s1_raw:
#     name, qty = item.split(':')
#     total[name] = int(qty)
# for item in s2_raw:
#     name, qty = item.split(':')
#     total[name] = total.get(name, 0) + int(qty)
# for name, qty in total.items():
#     print(f"{name}: {qty}")
#
# # №4
# res = {}
# with open("results.txt", "r") as f:
#     for l in f:
#         if l.strip():
#             lname, score = l.split()
#             res[lname] = int(score)
# best = max(res, key=res.get)
# print(f"{best} {res[best]}")
#
# # №5
# in_st = input().split()
# inv_d = {}
# for pair in in_st:
#     key, value = pair.split('=')
#     inv_d[value] = key
# for key in sorted(inv_d.keys()):
#     print(f"{key}: {inv_d[key]}")
#
# # №6
# t = input().lower()
# l_c = {}
# for char in t:
#     if char.isalpha():
#         l_c[char] = l_c.get(char, 0) + 1
# most = max(l_c, key=l_c.get)
# print(f"Буква: {most}, Количество: {l_c[most]}")
# №7
words = input().split()
d = {}
for w in words:
    ln = len(w)
    if ln not in d:
        d[ln] = []
    if w not in d[ln]:
        d[ln].append(w)
for k in sorted(d):
    print(f"{k}: {', '.join(d[k])}")