N,M = map(int,input().split()) lsA = list(map(int,input().split())) lsB = list(map(int,input().split())) # Aを0,Bを1とする lsAB = [(-10**10,0)] for i in range(N): lsAB.append((lsA[i],0)) for i in range(M): lsAB.append((lsB[i],1)) lsAB.append((10**10,0)) lsAB.sort() br = -10**10 ans = 0 ii = 0 while ii <= N+M: rs = lsAB[ii][0] lsBB = [rs] ii += 1 while lsAB[ii][1]==1: lsBB.append(lsAB[ii][0]) ii += 1 if len(lsBB)<=1: continue lsBB.append(lsAB[ii][0]) sm = lsBB[-1]-lsBB[0] maxd = 0 for i in range(len(lsBB)-1): maxd = max(maxd,lsBB[i+1]-lsBB[i]) ans += sm-maxd print(ans)