using System.Collections.Generic;
public static void Main(string[] args)
Dictionary<string, Dictionary<string,int>> dwarfs = new Dictionary<string,Dictionary<string,int>>();
while ((input=Console.ReadLine())!= "Once upon a time")
string[] info = input.Split();
int physics = int.Parse(info[4]);
if (!dwarfs.ContainsKey(name))
dwarfs.Add(name, new Dictionary<string, int>());
if (!dwarfs[name].ContainsKey(color))
dwarfs[name].Add(color, physics);
if (dwarfs.ContainsKey(name) && !dwarfs[name].ContainsKey(color))
dwarfs[name].Add(color, physics);
if (dwarfs.ContainsKey(name) && dwarfs[name].ContainsKey(color))
if (dwarfs[name][color] < physics)
dwarfs[name][color] = physics;
foreach (var dwarf in dwarfs.OrderByDescending(x => x.Value.Values.Sum()))
foreach (var item in dwarf.Value)
Console.WriteLine("({0}) {1} <-> {2}", item.Key, dwarf.Key, item.Value);