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=