using System;
using System.Linq;
public class Test
{
public static void Main()
{
var data = new [] {
new { Status = "Confirmed", Hometeam = "Fylkir", Outteam = "Valur", GoalsHometeams = 3, GoalsOutteams = 1 },
new { Status = "Confirmed", Hometeam = "Selfoss", Outteam = "Grindavik", GoalsHometeams = 3, GoalsOutteams = 3 },
new { Status = "Confirmed", Hometeam = "Keflavik", Outteam = "IBV", GoalsHometeams = 1, GoalsOutteams = 0 },
new { Status = "Confirmed", Hometeam = "Stjarnan", Outteam = "IA", GoalsHometeams = 1, GoalsOutteams = 1 },
new { Status = "Open", Hometeam = "Selfoss", Outteam = "Grindavik", GoalsHometeams = 3, GoalsOutteams = 3 },
new { Status = "Confirmed", Hometeam = "Breioablik", Outteam = "Fram", GoalsHometeams = 0, GoalsOutteams = 2 },
new { Status = "Open", Hometeam = "Selfoss", Outteam = "Grindavik", GoalsHometeams = 3, GoalsOutteams = 2 },
new { Status = "Open", Hometeam = "Fylkir", Outteam = "Valur", GoalsHometeams = 3, GoalsOutteams = 1 },
new { Status = "Open", Hometeam = "Selfoss", Outteam = "Grindavik", GoalsHometeams = 3, GoalsOutteams = 1 },
new { Status = "Open", Hometeam = "Keflavik", Outteam = "IBV", GoalsHometeams = 1, GoalsOutteams = 0 },
new { Status = "Open", Hometeam = "Fylkir", Outteam = "Valur", GoalsHometeams = 2, GoalsOutteams = 1 },
new { Status = "Open", Hometeam = "Breioablik", Outteam = "Fram", GoalsHometeams = 0, GoalsOutteams = 2 },
new { Status = "Open", Hometeam = "Selfoss", Outteam = "Grindavik", GoalsHometeams = 2, GoalsOutteams = 1 },
new { Status = "Open", Hometeam = "Stjarnan", Outteam = "IA", GoalsHometeams = 1, GoalsOutteams = 1 },
new { Status = "Open", Hometeam = "Stjarnan", Outteam = "IA", GoalsHometeams = 1, GoalsOutteams = 1 },
new { Status = "Open", Hometeam = "Breioablik", Outteam = "Fram", GoalsHometeams = 0, GoalsOutteams = 2 },
new { Status = "Open", Hometeam = "Keflavik", Outteam = "IBV", GoalsHometeams = 1, GoalsOutteams = 0 },
new { Status = "Open", Hometeam = "Selfoss", Outteam = "Grindavik", GoalsHometeams = 2, GoalsOutteams = 1 },
new { Status = "Open", Hometeam = "Fylkir", Outteam = "Valur", GoalsHometeams = 2, GoalsOutteams = 1 },
new { Status = "Open", Hometeam = "Stjarnan", Outteam = "IA", GoalsHometeams = 1, GoalsOutteams = 0 },
new { Status = "Open", Hometeam = "Fylkir", Outteam = "Valur", GoalsHometeams = 2, GoalsOutteams = 0 },
new { Status = "Open", Hometeam = "Selfoss", Outteam = "Grindavik", GoalsHometeams = 1, GoalsOutteams = 1 },
new { Status = "Open", Hometeam = "Breioablik", Outteam = "Fram", GoalsHometeams = 0, GoalsOutteams = 1 },
new { Status = "Open", Hometeam = "Selfoss", Outteam = "Grindavik", GoalsHometeams = 1, GoalsOutteams = 0 },
new { Status = "Open", Hometeam = "Fylkir", Outteam = "Valur", GoalsHometeams = 1, GoalsOutteams = 0 },
new { Status = "Open", Hometeam = "Keflavik", Outteam = "IBV", GoalsHometeams = 0, GoalsOutteams = 0 },
new { Status = "Open", Hometeam = "Fylkir", Outteam = "Valur", GoalsHometeams = 0, GoalsOutteams = 0 },
new { Status = "Open", Hometeam = "Breioablik", Outteam = "Fram", GoalsHometeams = 0, GoalsOutteams = 0 },
new { Status = "Open", Hometeam = "Selfoss", Outteam = "Grindavik", GoalsHometeams = 0, GoalsOutteams = 0 },
new { Status = "Open", Hometeam = "Stjarnan", Outteam = "IA", GoalsHometeams = 0, GoalsOutteams = 0 },
};
var result =
data.GroupBy(d => new { Hometeam = d.Hometeam, Outteam = d.Outteam })
.Select(g => g.OrderBy(d => d.Status)
.ThenByDescending(d => d.GoalsHometeams + d.GoalsOutteams)
.First());
Console.WriteLine("Current game status results:");
foreach (var entry in result)
Console.WriteLine(entry.Status + ", " + entry.Hometeam + ", " + entry.Outteam + ", " + entry.GoalsHometeams + ", " + entry.GoalsOutteams);
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uTGlucTsKCnB1YmxpYyBjbGFzcyBUZXN0CnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKCXsKdmFyIGRhdGEgPSBuZXcgW10gewpuZXcgeyBTdGF0dXMgPSAiQ29uZmlybWVkIiwgSG9tZXRlYW0gPSAiRnlsa2lyIiwgT3V0dGVhbSA9ICJWYWx1ciIsIEdvYWxzSG9tZXRlYW1zID0gMywgR29hbHNPdXR0ZWFtcyA9IDEgfSwgCm5ldyB7IFN0YXR1cyA9ICJDb25maXJtZWQiLCBIb21ldGVhbSA9ICJTZWxmb3NzIiwgT3V0dGVhbSA9ICJHcmluZGF2aWsiLCBHb2Fsc0hvbWV0ZWFtcyA9IDMsIEdvYWxzT3V0dGVhbXMgPSAzIH0sIApuZXcgeyBTdGF0dXMgPSAiQ29uZmlybWVkIiwgSG9tZXRlYW0gPSAiS2VmbGF2aWsiLCBPdXR0ZWFtID0gIklCViIsIEdvYWxzSG9tZXRlYW1zID0gMSwgR29hbHNPdXR0ZWFtcyA9IDAgfSwgCm5ldyB7IFN0YXR1cyA9ICJDb25maXJtZWQiLCBIb21ldGVhbSA9ICJTdGphcm5hbiIsIE91dHRlYW0gPSAiSUEiLCBHb2Fsc0hvbWV0ZWFtcyA9IDEsIEdvYWxzT3V0dGVhbXMgPSAxIH0sIApuZXcgeyBTdGF0dXMgPSAiT3BlbiIsIEhvbWV0ZWFtID0gIlNlbGZvc3MiLCBPdXR0ZWFtID0gIkdyaW5kYXZpayIsIEdvYWxzSG9tZXRlYW1zID0gMywgR29hbHNPdXR0ZWFtcyA9IDMgfSwgCm5ldyB7IFN0YXR1cyA9ICJDb25maXJtZWQiLCBIb21ldGVhbSA9ICJCcmVpb2FibGlrIiwgT3V0dGVhbSA9ICJGcmFtIiwgR29hbHNIb21ldGVhbXMgPSAwLCBHb2Fsc091dHRlYW1zID0gMiB9LCAKbmV3IHsgU3RhdHVzID0gIk9wZW4iLCBIb21ldGVhbSA9ICJTZWxmb3NzIiwgT3V0dGVhbSA9ICJHcmluZGF2aWsiLCBHb2Fsc0hvbWV0ZWFtcyA9IDMsIEdvYWxzT3V0dGVhbXMgPSAyIH0sIApuZXcgeyBTdGF0dXMgPSAiT3BlbiIsIEhvbWV0ZWFtID0gIkZ5bGtpciIsIE91dHRlYW0gPSAiVmFsdXIiLCBHb2Fsc0hvbWV0ZWFtcyA9IDMsIEdvYWxzT3V0dGVhbXMgPSAxIH0sIApuZXcgeyBTdGF0dXMgPSAiT3BlbiIsIEhvbWV0ZWFtID0gIlNlbGZvc3MiLCBPdXR0ZWFtID0gIkdyaW5kYXZpayIsIEdvYWxzSG9tZXRlYW1zID0gMywgR29hbHNPdXR0ZWFtcyA9IDEgfSwgCm5ldyB7IFN0YXR1cyA9ICJPcGVuIiwgSG9tZXRlYW0gPSAiS2VmbGF2aWsiLCBPdXR0ZWFtID0gIklCViIsIEdvYWxzSG9tZXRlYW1zID0gMSwgR29hbHNPdXR0ZWFtcyA9IDAgfSwgCm5ldyB7IFN0YXR1cyA9ICJPcGVuIiwgSG9tZXRlYW0gPSAiRnlsa2lyIiwgT3V0dGVhbSA9ICJWYWx1ciIsIEdvYWxzSG9tZXRlYW1zID0gMiwgR29hbHNPdXR0ZWFtcyA9IDEgfSwgCm5ldyB7IFN0YXR1cyA9ICJPcGVuIiwgSG9tZXRlYW0gPSAiQnJlaW9hYmxpayIsIE91dHRlYW0gPSAiRnJhbSIsIEdvYWxzSG9tZXRlYW1zID0gMCwgR29hbHNPdXR0ZWFtcyA9IDIgfSwgCm5ldyB7IFN0YXR1cyA9ICJPcGVuIiwgSG9tZXRlYW0gPSAiU2VsZm9zcyIsIE91dHRlYW0gPSAiR3JpbmRhdmlrIiwgR29hbHNIb21ldGVhbXMgPSAyLCBHb2Fsc091dHRlYW1zID0gMSB9LCAKbmV3IHsgU3RhdHVzID0gIk9wZW4iLCBIb21ldGVhbSA9ICJTdGphcm5hbiIsIE91dHRlYW0gPSAiSUEiLCBHb2Fsc0hvbWV0ZWFtcyA9IDEsIEdvYWxzT3V0dGVhbXMgPSAxIH0sIApuZXcgeyBTdGF0dXMgPSAiT3BlbiIsIEhvbWV0ZWFtID0gIlN0amFybmFuIiwgT3V0dGVhbSA9ICJJQSIsIEdvYWxzSG9tZXRlYW1zID0gMSwgR29hbHNPdXR0ZWFtcyA9IDEgfSwgCm5ldyB7IFN0YXR1cyA9ICJPcGVuIiwgSG9tZXRlYW0gPSAiQnJlaW9hYmxpayIsIE91dHRlYW0gPSAiRnJhbSIsIEdvYWxzSG9tZXRlYW1zID0gMCwgR29hbHNPdXR0ZWFtcyA9IDIgfSwgCm5ldyB7IFN0YXR1cyA9ICJPcGVuIiwgSG9tZXRlYW0gPSAiS2VmbGF2aWsiLCBPdXR0ZWFtID0gIklCViIsIEdvYWxzSG9tZXRlYW1zID0gMSwgR29hbHNPdXR0ZWFtcyA9IDAgfSwgCm5ldyB7IFN0YXR1cyA9ICJPcGVuIiwgSG9tZXRlYW0gPSAiU2VsZm9zcyIsIE91dHRlYW0gPSAiR3JpbmRhdmlrIiwgR29hbHNIb21ldGVhbXMgPSAyLCBHb2Fsc091dHRlYW1zID0gMSB9LCAKbmV3IHsgU3RhdHVzID0gIk9wZW4iLCBIb21ldGVhbSA9ICJGeWxraXIiLCBPdXR0ZWFtID0gIlZhbHVyIiwgR29hbHNIb21ldGVhbXMgPSAyLCBHb2Fsc091dHRlYW1zID0gMSB9LCAKbmV3IHsgU3RhdHVzID0gIk9wZW4iLCBIb21ldGVhbSA9ICJTdGphcm5hbiIsIE91dHRlYW0gPSAiSUEiLCBHb2Fsc0hvbWV0ZWFtcyA9IDEsIEdvYWxzT3V0dGVhbXMgPSAwIH0sIApuZXcgeyBTdGF0dXMgPSAiT3BlbiIsIEhvbWV0ZWFtID0gIkZ5bGtpciIsIE91dHRlYW0gPSAiVmFsdXIiLCBHb2Fsc0hvbWV0ZWFtcyA9IDIsIEdvYWxzT3V0dGVhbXMgPSAwIH0sIApuZXcgeyBTdGF0dXMgPSAiT3BlbiIsIEhvbWV0ZWFtID0gIlNlbGZvc3MiLCBPdXR0ZWFtID0gIkdyaW5kYXZpayIsIEdvYWxzSG9tZXRlYW1zID0gMSwgR29hbHNPdXR0ZWFtcyA9IDEgfSwgCm5ldyB7IFN0YXR1cyA9ICJPcGVuIiwgSG9tZXRlYW0gPSAiQnJlaW9hYmxpayIsIE91dHRlYW0gPSAiRnJhbSIsIEdvYWxzSG9tZXRlYW1zID0gMCwgR29hbHNPdXR0ZWFtcyA9IDEgfSwgCm5ldyB7IFN0YXR1cyA9ICJPcGVuIiwgSG9tZXRlYW0gPSAiU2VsZm9zcyIsIE91dHRlYW0gPSAiR3JpbmRhdmlrIiwgR29hbHNIb21ldGVhbXMgPSAxLCBHb2Fsc091dHRlYW1zID0gMCB9LCAKbmV3IHsgU3RhdHVzID0gIk9wZW4iLCBIb21ldGVhbSA9ICJGeWxraXIiLCBPdXR0ZWFtID0gIlZhbHVyIiwgR29hbHNIb21ldGVhbXMgPSAxLCBHb2Fsc091dHRlYW1zID0gMCB9LCAKbmV3IHsgU3RhdHVzID0gIk9wZW4iLCBIb21ldGVhbSA9ICJLZWZsYXZpayIsIE91dHRlYW0gPSAiSUJWIiwgR29hbHNIb21ldGVhbXMgPSAwLCBHb2Fsc091dHRlYW1zID0gMCB9LCAKbmV3IHsgU3RhdHVzID0gIk9wZW4iLCBIb21ldGVhbSA9ICJGeWxraXIiLCBPdXR0ZWFtID0gIlZhbHVyIiwgR29hbHNIb21ldGVhbXMgPSAwLCBHb2Fsc091dHRlYW1zID0gMCB9LCAKbmV3IHsgU3RhdHVzID0gIk9wZW4iLCBIb21ldGVhbSA9ICJCcmVpb2FibGlrIiwgT3V0dGVhbSA9ICJGcmFtIiwgR29hbHNIb21ldGVhbXMgPSAwLCBHb2Fsc091dHRlYW1zID0gMCB9LCAKbmV3IHsgU3RhdHVzID0gIk9wZW4iLCBIb21ldGVhbSA9ICJTZWxmb3NzIiwgT3V0dGVhbSA9ICJHcmluZGF2aWsiLCBHb2Fsc0hvbWV0ZWFtcyA9IDAsIEdvYWxzT3V0dGVhbXMgPSAwIH0sIApuZXcgeyBTdGF0dXMgPSAiT3BlbiIsIEhvbWV0ZWFtID0gIlN0amFybmFuIiwgT3V0dGVhbSA9ICJJQSIsIEdvYWxzSG9tZXRlYW1zID0gMCwgR29hbHNPdXR0ZWFtcyA9IDAgfSwgCn07Cgp2YXIgcmVzdWx0ID0KZGF0YS5Hcm91cEJ5KGQgPT4gbmV3IHsgSG9tZXRlYW0gPSBkLkhvbWV0ZWFtLCBPdXR0ZWFtID0gZC5PdXR0ZWFtIH0pCgkuU2VsZWN0KGcgPT4gZy5PcmRlckJ5KGQgPT4gZC5TdGF0dXMpCgkJCQkgIC5UaGVuQnlEZXNjZW5kaW5nKGQgPT4gZC5Hb2Fsc0hvbWV0ZWFtcyArIGQuR29hbHNPdXR0ZWFtcykKCQkJCSAgLkZpcnN0KCkpOwpDb25zb2xlLldyaXRlTGluZSgiQ3VycmVudCBnYW1lIHN0YXR1cyByZXN1bHRzOiIpOwpmb3JlYWNoICh2YXIgZW50cnkgaW4gcmVzdWx0KQoJQ29uc29sZS5Xcml0ZUxpbmUoZW50cnkuU3RhdHVzICsgIiwgIiArIGVudHJ5LkhvbWV0ZWFtICsgIiwgIiArIGVudHJ5Lk91dHRlYW0gKyAiLCAiICsgZW50cnkuR29hbHNIb21ldGVhbXMgKyAiLCAiICsgZW50cnkuR29hbHNPdXR0ZWFtcyk7Cgl9Cn0=