#include <bits/stdc++.h>
using namespace std;
inline __int128 read()
{
register char c = getchar();
register __int128 x = 0, f = 1;
while (c < '0' || c > '9') {if (c == '-') f = -1;c = getchar();}
while (c >= '0' && c <= '9') {x = (x << 3) + (x << 1) + c - 48;c = getchar();}
return x * f;
}
inline void print(__int128 x)
{
if(x<0){putchar('-');x=-x;}
if(x<10){putchar(x+48);return;}
print(x/10);
putchar(x%10+48);
}
__int128 n;
pair<__int128, __int128> calVarStdev(vector<__int128> vecNums)
{
pair<__int128, __int128> res;
__int128 sumNum = accumulate(vecNums.begin(), vecNums.end(), 0.0);
__int128 mean = sumNum / vecNums.size();
__int128 accum = 0.0;
for_each(vecNums.begin(), vecNums.end(), [&](const __int128 d) {
accum += (d - mean)*(d - mean);
});
__int128 variance = accum / vecNums.size();
print(variance);
res.first = variance;
return res;
}
int main()
{
n=read();
__int128 a[n],b[n];
for (register int i=0;i<n;++i)
a[i]=read();
for (register int i=0;i<n;++i)
b[i]=read();
pair<__int128, __int128> res;
vector<__int128> vecNums;
vecNums.push_back(min(a[0],b[0])*n);
for (register int i=1;i<n-1;++i)
{
__int128 cnt1=abs(a[i]-(max(a[n-1],b[n-1])-min(a[0],b[0])));
__int128 cnt2=abs(b[i]-(max(a[n-1],b[n-1])-min(a[0],b[0])));
if (cnt1<=cnt2)
vecNums.push_back(a[i]*n);
else
vecNums.push_back(b[i]*n);
}
vecNums.push_back(max(a[n-1],b[n-1])*n);
res = calVarStdev(vecNums);
return 0;
}