年轻的巫师,你好!你的冒险从这里开始。但在开始之前,你必须证明你是值得的。你能通过测试吗?
你有一堆旧宝箱,每个宝箱里可能都藏着巫师世界的魔法奇迹。你想要用手头的钥匙把它们全部打开。
在你的钥匙柜里,有一把金钥匙和 $k$ 把银钥匙。任何钥匙都可以打开任何宝箱,但每把银钥匙只能使用一次,而金钥匙可以多次使用。对于每个宝箱,你知道打开它所需的时间。你不能用同一把钥匙同时打开多个宝箱。如果你开始用某把钥匙打开一个宝箱,你必须等到宝箱打开后才能再次使用这把钥匙(当然,只有金钥匙才能被重复使用)。另一方面,你可以同时使用不同的钥匙打开不同的宝箱,因此你有可能同时打开多个宝箱(这种用金钥匙和银钥匙打开宝箱的机制实际上存在于游戏“Wizards Unite”中。允许在玩游戏时使用解决此问题所获得的见解)。
打开所有宝箱所需的最短时间是多少?
输入格式
输入的第一行包含测试用例的数量 $z$。接下来是各测试用例的描述。
每个测试用例的第一行包含两个整数 $n$ 和 $k$ ($0 \le k < n \le 10^5$),分别表示宝箱的数量和银钥匙的数量。
每个测试用例的第二行包含 $n$ 个整数 $t_i$ ($0 \le t_i \le 10^9$)。每个 $t_i$ 表示打开第 $i$ 个宝箱所需的时间。
所有测试用例中宝箱的总数不超过 $10^6$。
输出格式
对于每个测试用例,输出一行,包含一个整数,表示打开所有宝箱所需的最短时间。
样例
样例输入 1
2 3 1 1 3 2 3 2 5 5 5
样例输出 1
3 5