class Program { static void Main(string[] args) { string[] tbutter = Console.ReadLine().Split(' '); string[] goodList = Console.ReadLine().Split(' '); int postCount = 0; ulong goodCount = 0; List remainingGood = new List(); for(int i = 0; i < int.Parse(tbutter[0]); i++) { if(int.Parse(goodList[i]) <= int.Parse(tbutter[3])) { continue; } if (int.Parse(goodList[i]) >= int.Parse(tbutter[2])) { postCount++; if (postCount > int.Parse(tbutter[1])) { break; } } remainingGood.Add(int.Parse(goodList[i])); } if (postCount > int.Parse(tbutter[1])) { Console.WriteLine("Handicapped"); } else { ShortageCount(int.Parse(tbutter[1]), remainingGood); } } private static void ShortageCount(int v, List remainingGood) { ulong goodCount = 0; if (remainingGood.Count != 0) { remainingGood = remainingGood.OrderByDescending(i => i).ToList(); for (int i = 0; i < v; i++) { goodCount += ulong.Parse(remainingGood[i].ToString()); if(i == remainingGood.Count - 1) { break ; } } } Console.WriteLine(goodCount); } }