using System;
public class Test
{
public static void Main()
{
}
public int[] FindSumMostAppear(int[] nums){
var f = new Dictionary<int, int>();
int maxAppear = 0;
foreach(var num in nums){
if(f.TryGetValue(num, out int count)){
f[num] = count + 1;
}
else{
f.Add(num, 1);
}
}
foreach(var e in f){
if(e.Value > maxAppear){
maxAppear = e.Value;
}
}
var sum = new List<int>();
foreach(var e in f){
if(e.Value == maxAppear){
sum.Add(e.Value * e.Key);
}
}
return sum.ToArray();
}
}
dXNpbmcgU3lzdGVtOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCQoJfQoJCglwdWJsaWMgaW50W10gRmluZFN1bU1vc3RBcHBlYXIoaW50W10gbnVtcyl7CgkJCXZhciBmID0gbmV3IERpY3Rpb25hcnk8aW50LCBpbnQ+KCk7CgkJCWludCBtYXhBcHBlYXIgPSAwOwoKCQkJZm9yZWFjaCh2YXIgbnVtIGluIG51bXMpewoJCQkJaWYoZi5UcnlHZXRWYWx1ZShudW0sIG91dCBpbnQgY291bnQpKXsKCQkJCQlmW251bV0gPSBjb3VudCArIDE7CgkJCQl9CgkJCQllbHNlewoJCQkJCWYuQWRkKG51bSwgMSk7CgkJCQl9CgkJCX0KCQkJCgkJCWZvcmVhY2godmFyIGUgaW4gZil7CgkJCQlpZihlLlZhbHVlID4gbWF4QXBwZWFyKXsKCQkJCQltYXhBcHBlYXIgPSBlLlZhbHVlOwoJCQkJCX0KCQkJfQoJCQl2YXIgc3VtID0gbmV3IExpc3Q8aW50PigpOwoJCQlmb3JlYWNoKHZhciBlIGluIGYpewoJCQkJaWYoZS5WYWx1ZSA9PSBtYXhBcHBlYXIpewoJCQkJCXN1bS5BZGQoZS5WYWx1ZSAqIGUuS2V5KTsKCQkJCX0KCQkJCX0KCQkJCgkJCXJldHVybiBzdW0uVG9BcnJheSgpOwoJCX0KfQo=