import sys from collections import deque def main(): n = int(sys.stdin.readline()) a = list(map(int, sys.stdin.readline().split())) x = list(map(int, sys.stdin.readline().split())) y = list(map(int, sys.stdin.readline().split())) dp = [0] * (n + 1) q = deque() for i in range(n): # Add the line for j = i m_i = -2 * x[i] b_i = dp[i] + x[i] ** 2 + y[i] ** 2 # Maintain the deque for convex hull while len(q) >= 2: m1, b1 = q[-2] m2, b2 = q[-1] # Calculate intersection points x1 = (b2 - b1) / (m1 - m2) x2 = (b_i - b2) / (m2 - m_i) if x2 <= x1: q.pop() else: break q.append((m_i, b_i)) # Compute dp[i+1] current_a = a[i] # Find the optimal line in the deque while len(q) >= 2: m1, b1 = q[0] m2, b2 = q[1] if (b2 - b1) / (m1 - m2) <= current_a: q.popleft() else: break m, b = q[0] min_val = m * current_a + b dp[i + 1] = current_a ** 2 + min_val print(dp[n]) if __name__ == "__main__": main()