#include using namespace std; using ll = long long; ll N; vector A(400000),X(400000),Y(400000); vector DP(400000,1e18),IDX(400000); ll f(ll a,ll b){ ll x = abs(A[a] - X[b - 1]); ll y = abs(0 - Y[b - 1]); return x * x * x + y * y * y; } void check(ll a,ll b){ if(DP[a] + f(a,b) < DP[b]){ DP[b] = DP[a] + f(a,b); IDX[b] = a; } } void solve(ll l,ll r){ if(r - l == 1) return; ll m = (l + r) / 2; for(ll i = IDX[l];i <= IDX[r];i++) check(i,m); solve(l,m); for(ll i = l + 1;i <= m;i++) check(i,r); solve(m,r); } int main(){ cin >> N; for(ll i = 0;i < N;i++) cin >> A[N - 1 - i]; for(ll i = 0;i < N;i++) cin >> X[N - 1 - i]; for(ll i = 0;i < N;i++) cin >> Y[N - 1 - i]; DP[0] = 0; IDX[0] = 0; DP[N] = f(0,N); IDX[N] = 0; solve(0,N); cout << DP[N] << endl; }