from heapq import * from atcoder.dsu import DSU N, M = map(int, input().split()) A = list(map(int, input().split())) B = list(map(int, input().split())) dsu = DSU(N + M + 1) X = [] for i, a in enumerate(A, start=1): X.append((a, i, 0)) dsu.merge(0, i) for i, b in enumerate(B, start= N + 1): X.append((b, i, 1)) X.sort() Q = [] for i in range(1, N + M): a0, b0, c0 = X[i] a1, b1, c1 = X[i - 1] if c0 == 1 or c1 == 1: heappush(Q, (a0 - a1, b0, b1)) ans = 0 while Q: a, b, c = heappop(Q) if dsu.same(b, c): continue ans += a dsu.merge(b, c) print(ans)