using System;
using System.Collections.Generic;
using System.Linq;
public class Test
{
class Data
{
public char Key;
public int Value;
public bool Flag;
}
public static void Main()
{
var list = new List<Data>(){
new Data(){Key='a',Value=2,Flag=true},
new Data(){Key='b',Value=3,Flag=true},
new Data(){Key='c',Value=9,Flag=true},
new Data(){Key='d',Value=11,Flag=false},
new Data(){Key='e',Value=9,Flag=true}
};
var flaggedList = list.Where(data=>data.Flag);
var maxValue = flaggedList.Max(data=>data.Value);
var mavValueOwnerList = flaggedList.Where(data => data.Value == maxValue);
var mavValueOwnerKeyList = mavValueOwnerList.Select(data=>data.Key);
Console.WriteLine(string.Join("\n", mavValueOwnerKeyList));
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CgpwdWJsaWMgY2xhc3MgVGVzdAp7CiAgICBjbGFzcyBEYXRhCiAgICB7CiAgICAgICAgcHVibGljIGNoYXIgS2V5OwogICAgICAgIHB1YmxpYyBpbnQgVmFsdWU7CiAgICAgICAgcHVibGljIGJvb2wgRmxhZzsKICAgIH0KCglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCgl7CiAgICAgICAgdmFyIGxpc3QgPSBuZXcgTGlzdDxEYXRhPigpewogICAgICAgICAgICBuZXcgRGF0YSgpe0tleT0nYScsVmFsdWU9MixGbGFnPXRydWV9LAogICAgICAgICAgICBuZXcgRGF0YSgpe0tleT0nYicsVmFsdWU9MyxGbGFnPXRydWV9LAogICAgICAgICAgICBuZXcgRGF0YSgpe0tleT0nYycsVmFsdWU9OSxGbGFnPXRydWV9LAogICAgICAgICAgICBuZXcgRGF0YSgpe0tleT0nZCcsVmFsdWU9MTEsRmxhZz1mYWxzZX0sCiAgICAgICAgICAgIG5ldyBEYXRhKCl7S2V5PSdlJyxWYWx1ZT05LEZsYWc9dHJ1ZX0KICAgICAgICB9OwoKICAgICAgICB2YXIgZmxhZ2dlZExpc3QgPSBsaXN0LldoZXJlKGRhdGE9PmRhdGEuRmxhZyk7CiAgICAgICAgdmFyIG1heFZhbHVlID0gZmxhZ2dlZExpc3QuTWF4KGRhdGE9PmRhdGEuVmFsdWUpOwogICAgICAgIHZhciBtYXZWYWx1ZU93bmVyTGlzdCA9IGZsYWdnZWRMaXN0LldoZXJlKGRhdGEgPT4gZGF0YS5WYWx1ZSA9PSBtYXhWYWx1ZSk7CiAgICAgICAgdmFyIG1hdlZhbHVlT3duZXJLZXlMaXN0ID0gbWF2VmFsdWVPd25lckxpc3QuU2VsZWN0KGRhdGE9PmRhdGEuS2V5KTsKCiAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoc3RyaW5nLkpvaW4oIlxuIiwgbWF2VmFsdWVPd25lcktleUxpc3QpKTsKCX0KfQ==