C. ПриятеЛи
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Ли наконец стал мастером на Codeforces, и потому решил сходить за подарками своим друзьям. Он приобрел $$$n$$$ целых чисел, и теперь настало время распределить их между друзьями...

У Ли есть $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ в своем рюкзаке, а также у него $$$k$$$ друзей. Ли хочет распределить все целые числа из рюкзака между друзьями так, чтобы $$$i$$$-му другу досталось ровно $$$w_i$$$ чисел и каждое число досталось ровно одному другу.

Назовем уровнем счастья друга сумму максимального и минимального числа, которое он получит.

Ли хочет сделать друзей как можно более счастливыми, другими словами, он хочет максимизировать суммарный уровень счастья друзей. Конечно же, Ли просит вас помочь ему посчитать этот максимальный суммарный уровень счастья.

Входные данные

В первой строке задано единственное число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных.

В следующих $$$3t$$$ строках заданы сами наборы — по одному на три строки.

В первой строке каждого набора входных данных заданы два целых числа $$$n$$$ и $$$k$$$ ($$$1 \le n \le 2 \cdot 10^5$$$; $$$1 \le k \le n$$$) — количество целых чисел в рюкзаке Ли и количество его друзей.

Во второй строке каждого набора заданы $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$-10^9 \le a_i \le 10^9$$$) — сами числа в рюкзаке.

В третьей строке заданы $$$k$$$ целых чисел $$$w_1, w_2, \ldots, w_k$$$ ($$$1 \le w_i \le n$$$; $$$w_1 + w_2 + \ldots + w_k = n$$$) — количество чисел, которое Ли собирается дать каждому другу.

Гарантируется, что сумма $$$n$$$ по всем наборам не превосходит $$$2 \cdot 10^5$$$.

Выходные данные

Для каждого набора входных данных выведите по одному числу — максимальный суммарный уровень счастья, который сможет достигнуть Ли.

Пример
Входные данные
3
4 2
1 13 7 17
1 3
6 2
10 10 10 10 11 11
3 3
4 4
1000000000 1000000000 1000000000 1000000000
1 1 1 1
Выходные данные
48
42
8000000000
Примечание

В первом наборе входных данных, Ли нужно отдать наибольшее число первому другу (его уровень счастья будет равен $$$17 + 17$$$) и остальные числа — второму (его уровень счастья будет равен $$$13 + 1$$$).

В втором наборе, Ли нужно отдать $$$\{10, 10, 11\}$$$ и первому и второму другу, тогда суммарный уровень счастья будет равен $$$(11 + 10) + (11 + 10)$$$

В третьем наборе, у Ли четыре друга и четыре числа. Не важно, как он распределит числа между ними.