import java.util.HashMap;
import java.util.Map;
import java.util.SortedSet;
import java.util.TreeSet;
 
class Ideone {
	static class Item implements Comparable<Item> {
		int amount;
			this.name=name;
			this.amount=amount;
		}
		public int compareTo(Item o) {
			if(o.amount<amount)
				return -1;
			if(o.amount>amount)
				return 1;
			return o.name.compareTo(name);
		}
			return name+"|"+amount;
		}
	}
 
	Map
<String,Item
> itemmap
=new HashMap
<>();	SortedSet<Item> sorted=new TreeSet<>();
 
	void add
(String name,
int amount
) { 		Item i=itemmap.get(name);
		if(i!=null) {
			sorted.remove(i);
			i.amount+=amount;
		} else {
			i=new Item(name,amount);
		}
		itemmap.put(name,i);
		sorted.add(i);
	}
	public static void main
(String[] args
) { 		Ideone t=new Ideone();
		t.add("F",400);
		t.add("B",1000);
		t.add("xA",500);
		t.add("xA",600);
		t.add("C",1000);
		t.add("D",700);
		t.add("E",300);
		System.
out.
println("itemmap: "+t.
itemmap); 		System.
out.
println("sorted: "+t.
sorted); 	}
}
 
				aW1wb3J0IGphdmEudXRpbC5IYXNoTWFwOwppbXBvcnQgamF2YS51dGlsLk1hcDsKaW1wb3J0IGphdmEudXRpbC5Tb3J0ZWRTZXQ7CmltcG9ydCBqYXZhLnV0aWwuVHJlZVNldDsKCmNsYXNzIElkZW9uZSB7CglzdGF0aWMgY2xhc3MgSXRlbSBpbXBsZW1lbnRzIENvbXBhcmFibGU8SXRlbT4gewoJCWZpbmFsIFN0cmluZyBuYW1lOwoJCWludCBhbW91bnQ7CgkJSXRlbShTdHJpbmcgbmFtZSxpbnQgYW1vdW50KXsKCQkJdGhpcy5uYW1lPW5hbWU7CgkJCXRoaXMuYW1vdW50PWFtb3VudDsKCQl9CgkJcHVibGljIGludCBjb21wYXJlVG8oSXRlbSBvKSB7CgkJCWlmKG8uYW1vdW50PGFtb3VudCkKCQkJCXJldHVybiAtMTsKCQkJaWYoby5hbW91bnQ+YW1vdW50KQoJCQkJcmV0dXJuIDE7CgkJCXJldHVybiBvLm5hbWUuY29tcGFyZVRvKG5hbWUpOwoJCX0KCQlwdWJsaWMgU3RyaW5nIHRvU3RyaW5nKCkgewoJCQlyZXR1cm4gbmFtZSsifCIrYW1vdW50OwoJCX0KCX0KCQoJTWFwPFN0cmluZyxJdGVtPiBpdGVtbWFwPW5ldyBIYXNoTWFwPD4oKTsKCVNvcnRlZFNldDxJdGVtPiBzb3J0ZWQ9bmV3IFRyZWVTZXQ8PigpOwoJCgl2b2lkIGFkZChTdHJpbmcgbmFtZSxpbnQgYW1vdW50KSB7CgkJSXRlbSBpPWl0ZW1tYXAuZ2V0KG5hbWUpOwoJCWlmKGkhPW51bGwpIHsKCQkJc29ydGVkLnJlbW92ZShpKTsKCQkJaS5hbW91bnQrPWFtb3VudDsKCQl9IGVsc2UgewoJCQlpPW5ldyBJdGVtKG5hbWUsYW1vdW50KTsKCQl9CgkJaXRlbW1hcC5wdXQobmFtZSxpKTsKCQlzb3J0ZWQuYWRkKGkpOwoJfQoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewoJCUlkZW9uZSB0PW5ldyBJZGVvbmUoKTsKCQl0LmFkZCgiRiIsNDAwKTsKCQl0LmFkZCgiQiIsMTAwMCk7CgkJdC5hZGQoInhBIiw1MDApOwoJCXQuYWRkKCJ4QSIsNjAwKTsKCQl0LmFkZCgiQyIsMTAwMCk7CgkJdC5hZGQoIkQiLDcwMCk7CgkJdC5hZGQoIkUiLDMwMCk7CgkJU3lzdGVtLm91dC5wcmludGxuKCJpdGVtbWFwOiAiK3QuaXRlbW1hcCk7CgkJU3lzdGVtLm91dC5wcmludGxuKCJzb3J0ZWQ6ICIrdC5zb3J0ZWQpOwoJfQp9Cg==
				
				
				
				
				
			 
			
				
			
			
				
	
		
		
	
	
		itemmap: {B=B|1000, C=C|1000, D=D|700, E=E|300, F=F|400, xA=xA|1100}
sorted: [xA|1100, C|1000, B|1000, D|700, F|400, E|300]