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[2])) { postCount++; goodCount += ulong.Parse(goodList[i]); if (postCount > int.Parse(tbutter[1])) { break; } } else if (int.Parse(goodList[i]) < int.Parse(tbutter[2]) && int.Parse(goodList[i]) > int.Parse(tbutter[3])) { remainingGood.Add(int.Parse(goodList[i])); } } if (postCount > int.Parse(tbutter[1])) { Console.WriteLine("Handicapped"); } else { ShortageCount(postCount, goodCount, int.Parse(tbutter[1]), remainingGood); } } private static void ShortageCount(int postCount,ulong goodCount, int v, List remainingGood) { if (remainingGood.Count != 0) { remainingGood = remainingGood.OrderByDescending(i => i).ToList(); for (int i = 0; i < v - postCount; i++) { goodCount += ulong.Parse(remainingGood[i].ToString()); } } Console.WriteLine(goodCount); } }