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