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个

'''