문제

N개의 정수로 이루어진 배열 A와 B가 주어질 때, X는 아래와 같이 정의된다.
X = A[0]B[0] + … + A[N-1]B[N-1]


배열 A를 적당히 재배열해서 X의 값을 최소값으로 만들려고 한다.
X의 가능한 최소값을 출력해보자.

입력

첫째 줄에는 50 이하의 양의 정수 N이 주어진다.


두번째 줄에는 배열 A가, 세 번째 줄에는 배열 B가 N개의 자연수로 주어진다. 각 자연수는 10^5 이하이다.

출력

첫째 줄에 X의 최솟값을 출력한다.

예제 1 입력

3
3 1 2
1 2 3

예제 1 출력

10

예제 2 입력

5
8 4 5 3 1
4 5 3 1 2

예제 2 출력

47

Source

n = int(input())

a = list(map(int, input().split()))
b = list(map(int, input().split()))

a.sort()
b.sort(reverse = True)
min_sum = 0

for i in range(n):
	min_sum += a[i] * b[i]

print(min_sum)