n,k = map(int,input().split())
a = list(map(int,input().split()))
b = list(map(int,input().split()))
#nums = [(b[i],a[i])for i in range(n)]
nums = []
for i in range(n):
nums.append((b[i],a[i]))
nums.sort(key=lambda x:(-x[0],x[1]))
#totalA = sum(nums[i][1]for i in range(k))
#totalB = sum(nums[i][0]for i in range(k))
totalA = 0
totalB = 0
for i in range(k):
sweet,sour = nums[i]
totalA += sweet
totalB += sour
print(totalB,totalA)
'''
目标:
选k个蜜柑,在甜度【和】最大前提,酸度【和】最小
关键策略:【自定义排序】
--.sort(key = lambada x:(-x[0],x[1]))
【Q】 总甜度相同我们想选择总酸度小的我们应该如何拆解和实现
--->排序
**甜度相同的蜜柑 酸度小的已经被排在前面
*不能直接取前k个
'''