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=