Virtual contest is a way to take part in past contest, as close as possible to participation on time. It is supported only ICPC mode for virtual contests.
If you've seen these problems, a virtual contest is not for you - solve these problems in the archive.
If you just want to solve some problem from a contest, a virtual contest is not for you - solve this problem in the archive.
Never use someone else's code, read the tutorials or communicate with other person during a virtual contest.

brute force

sortings

two pointers

*1100

No tag edit access

The problem statement has recently been changed. View the changes.

×
B. Maximum Sum

time limit per test

2 secondsmemory limit per test

256 megabytesinput

standard inputoutput

standard outputYou are given an array $$$a_1, a_2, \dots, a_n$$$, where all elements are different.

You have to perform exactly $$$k$$$ operations with it. During each operation, you do exactly one of the following two actions (you choose which to do yourself):

- find two minimum elements in the array, and delete them;
- find the maximum element in the array, and delete it.

You have to calculate the maximum possible sum of elements in the resulting array.

Input

The first line contains one integer $$$t$$$ ($$$1 \le t \le 10^4$$$) — the number of test cases.

Each test case consists of two lines:

- the first line contains two integers $$$n$$$ and $$$k$$$ ($$$3 \le n \le 2 \cdot 10^5$$$; $$$1 \le k \le 99999$$$; $$$2k < n$$$) — the number of elements and operations, respectively.
- the second line contains $$$n$$$ integers $$$a_1, a_2, \dots, a_n$$$ ($$$1 \le a_i \le 10^9$$$; all $$$a_i$$$ are different) — the elements of the array.

Additional constraint on the input: the sum of $$$n$$$ does not exceed $$$2 \cdot 10^5$$$.

Output

For each test case, print one integer — the maximum possible sum of elements in the resulting array.

Example

Input

65 12 5 1 10 65 22 5 1 10 63 11 2 36 115 22 12 10 13 116 215 22 12 10 13 115 1999999996 999999999 999999997 999999998 999999995

Output

21 11 3 62 46 3999999986

Note

In the first testcase, applying the first operation produces the following outcome:

- two minimums are $$$1$$$ and $$$2$$$; removing them leaves the array as $$$[5, 10, 6]$$$, with sum $$$21$$$;
- a maximum is $$$10$$$; removing it leaves the array as $$$[2, 5, 1, 6]$$$, with sum $$$14$$$.

$$$21$$$ is the best answer.

In the second testcase, it's optimal to first erase two minimums, then a maximum.

Codeforces (c) Copyright 2010-2023 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: May/30/2023 21:18:24 (j2).

Desktop version, switch to mobile version.

Supported by

User lists

Name |
---|