using System;
using System.Collections.Generic;
using System.Linq;
public class Test
{
static void Main()
{
SortedDictionary<char, int> text = new SortedDictionary<char, int>();
string line = Console.ReadLine();
foreach (var character in line)
{
if (text.ContainsKey(character))
{
text[character]++;
}
else
{
text.Add(character, 1);
}
}
foreach (var character in text)
{
Console.WriteLine($"{character.Key} -> {character.Value}");
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CgpwdWJsaWMgY2xhc3MgVGVzdAp7CiAgICBzdGF0aWMgdm9pZCBNYWluKCkKICAgIHsKICAgICAgICBTb3J0ZWREaWN0aW9uYXJ5PGNoYXIsIGludD4gdGV4dCA9IG5ldyBTb3J0ZWREaWN0aW9uYXJ5PGNoYXIsIGludD4oKTsKICAgICAgICBzdHJpbmcgbGluZSA9IENvbnNvbGUuUmVhZExpbmUoKTsKICAgICAgICAKICAgICAgICBmb3JlYWNoICh2YXIgY2hhcmFjdGVyIGluIGxpbmUpCiAgICAgICAgewogICAgICAgICAgICBpZiAodGV4dC5Db250YWluc0tleShjaGFyYWN0ZXIpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB0ZXh0W2NoYXJhY3Rlcl0rKzsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHRleHQuQWRkKGNoYXJhY3RlciwgMSk7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZm9yZWFjaCAodmFyIGNoYXJhY3RlciBpbiB0ZXh0KQogICAgICAgIHsKICAgICAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoJCJ7Y2hhcmFjdGVyLktleX0gLT4ge2NoYXJhY3Rlci5WYWx1ZX0iKTsKICAgICAgICB9CiAgICB9Cn0=