你正在玩一款新的游戏,在游戏中你要与 \( n \) 个敌人战斗。在这款游戏中,第 \( i \) 个敌人的攻击力为 \( a_{i} \)。你和敌人轮流行动。在每一回合:
敌人先攻击。假设剩下 \( x \) 个敌人,攻击力最小的 \( k \) 个敌人将会攻击你,并对你造成的伤害等于它们攻击力之和。如果 \( x < k \),那么所有敌人都会攻击你。
然后轮到你行动。你有两个选择:要么击杀任意一个敌人,要么创造一个攻击力为 \( m \) 的敌人(\( m \) 是一个固定的数值)。
你的目标是击败所有敌人并最小化你所受到的伤害。注意你还需要击杀你创造的那些敌人。
每个测试包含多个测试用例。第一行包含测试用例的数量 \( t \) (\( 1 \le t \le 10^4 \))。接下来是测试用例的描述。
每个测试用例的第一行包含三个整数 \( n \)、\( m \)、\( k \) (\( 1 \le k \le n \le 2 \times 10^5 \),\( 0 \le m \le 10^6 \))。
第二行包含 \( n \) 个整数 \( a_1, a_2, \dots, a_n \) (\( 0 \le a_i \le 10^6 \))。
保证 \( \sum n \le 2 \times 10^5 \)。
对于每组数据,一行一个整数表示你受到最少的伤害
对于 \( 30\% \)的数据,满足 \( n \le 50 \)
对于 \( 50\% \)的数据,满足 \( n \le 500 \)
对于所有数据,满足\( n , \sum n \le 2 \cdot 10^5 \)