# クラスかるほう

# 　貪欲に辺ごとにソートをしてとけばいい

W, H = list(map(int, input().split()))

d = []

for i in range(W):

    x = int(eval(input()))

    d.append((x, "x"))



for j in range(H):

    y = int(eval(input()))

    d.append((y, "y"))

d.sort()

X = H+1

Y = W+1



ans = 0



for que in d:

    weight, pos = que

    if pos == "x":

        ans += X*weight

        Y -= 1

    else:

        ans += Y*weight

        X -= 1

print(ans)
# クラスかるほう

# 　貪欲に辺ごとにソートをしてとけばいい

W, H = list(map(int, input().split()))

d = []

for i in range(W):

    x = int(eval(input()))

    d.append((x, 0))



for j in range(H):

    y = int(eval(input()))

    d.append((y, 1))

d.sort()

X = H+1

Y = W+1



ans = 0



for que in d:

    weight, pos = que

    if pos <1:

        ans += X*weight

        Y -= 1

    else:

        ans += Y*weight

        X -= 1

print(ans)
# クラスかるほう
# 　貪欲に辺ごとにソートをしてとけばいい
W, H = list(map(int, input().split()))
d = []
for i in range(W):
    x = int(eval(input()))
    d.append((x, "x"))
for j in range(H):
    y = int(eval(input()))
    d.append((y, "y"))
d.sort()
X = H + 1
Y = W + 1
ans = 0
for que in d:
    weight, pos = que
    if pos == "x":
        ans += X * weight
        Y -= 1
    else:
        ans += Y * weight
        X -= 1
print(ans)

# クラスかるほう
# 　貪欲に辺ごとにソートをしてとけばいい
W, H = list(map(int, input().split()))
d = []
for i in range(W):
    x = int(eval(input()))
    d.append((x, 0))
for j in range(H):
    y = int(eval(input()))
    d.append((y, 1))
d.sort()
X = H + 1
Y = W + 1
ans = 0
for que in d:
    weight, pos = que
    if pos < 1:
        ans += X * weight
        Y -= 1
    else:
        ans += Y * weight
        X -= 1
print(ans)

-    d.append((x, "x")) +    d.append((x, 0)) -    d.append((y, "y")) +    d.append((y, 1)) -    if pos == "x": +    if pos < 1: