def main(): n, m, l = list(map(int, input().split())) A = [] N = 10**3+1 for a in list(map(int, input().split())): A.append(a+N) for a in list(map(int, input().split())): A.append(-a-N) A.sort(key = lambda x: abs(x)) B = [0] * (n+m+1) for i in range(n+m): B[i+1] = B[i]+A[i] E = [-1]*2*N inf = 1 << 60 dp = [[inf] * (l+1) for _ in range(n+m+1)] dp[0][0] = 0 now = 0 E[0] = 0 for i in range(1, n+m+1): a = A[i-1] if 0 < a: now += 1 else: now -= 1 p = E[now] c = (i-p)//2 for j in range(l+1): dp[i][j] = dp[i-1][j] if p != -1: for j in range(c, l+1): dp[i][j] = min(dp[i][j], dp[p][j-c]+abs(B[i]-B[p])) E[now] = i return dp[n+m][l] print(main())