import sys
input = sys.stdin.readline
import heapq
def readList():
return list(map(int, input().split()))
def readInt():
return int(input())
def readInts():
return map(int, input().split())
def readStr():
return input().strip()
def solve():
n, k = readInts()
a, b = readList(), readList()
a = sorted([(a[i], b[i]) for i in range(n) if b[i]-a[i] > 0], key=lambda x: -x[1])
n = len(a)
if n <= k:
return 0
h = []
ans = 0
v = sum([a[i][1] - a[i][0] for i in range(n) if i >= k])
for i in range(n):
if i < k:
heapq.heappush(h, -a[i][0])
v -= a[i][0]
else:
ans = max(ans, v)
v -= a[i][1]
heapq.heappush(h, -a[i][0])
ma = heapq.heappop(h)
v -= ma
return max(ans, v)
for _ in range(int(input())):
print(solve())
577A - Multiplication Table | 817C - Really Big Numbers |
1355A - Sequence with Digits | 977B - Two-gram |
993A - Two Squares | 1659D - Reverse Sort Sum |
1659A - Red Versus Blue | 1659B - Bit Flipping |
1480B - The Great Hero | 1519B - The Cake Is a Lie |
1659C - Line Empire | 515A - Drazil and Date |
1084B - Kvass and the Fair Nut | 1101A - Minimum Integer |
985D - Sand Fortress | 1279A - New Year Garland |
1279B - Verse For Santa | 202A - LLPS |
978A - Remove Duplicates | 1304A - Two Rabbits |
225A - Dice Tower | 1660D - Maximum Product Strikes Back |
1513A - Array and Peaks | 1251B - Binary Palindromes |
768B - Code For 1 | 363B - Fence |
991B - Getting an A | 246A - Buggy Sorting |
884A - Book Reading | 1180A - Alex and a Rhombus |