rt
#include <bits/stdc++.h>
#define N 600005
#define LL long long
#define MOD 1004535809
inline int R() {
int x=0; bool f=0; char c=getchar();
while (!isdigit(c)) f|=(c=='-'),c=getchar();
while (isdigit(c)) x=x*10+c-'0',c=getchar();
return f?-x:x;
}
template<typename T>
void W(T x,char Extra=0) {
if (x<0) putchar('-'),x=-x; if (x>9) W(x/10);
putchar(x%10+'0'); if (Extra) putchar(Extra);
}
using namespace std;
int n;
inline LL quickpow(LL a,int k) {
LL res=1;
while (k) {
if (k&1) res=res*a%MOD;
a=a*a%MOD,k>>=1;
}
return res;
} LL G=3,iG=quickpow(G,MOD-2);
int main() {
n=R(),R(); init(); vector<LL> a(n),b(2*n);
for (int i=0;i<n;i++) a[i]=R();
for (int i=0;i<n;i++) b[2*n-i-1]=b[n-i-1]=R();
vector<LL> f=a*b; LL ans=0,A=n,B=0;
for (int i=0;i<2*n;i++) ans=max(ans,f[i]); ans=-2*ans;
for (int i=0;i<n;i++) ans+=1ll*a[i]*a[i]+1ll*b[i]*b[i],B+=(a[i]-b[i]);
B=B<0?-B:B; W(ans-(__int128)B*(B/A),'\n');
return 0;
}
把多项式板子省了,目测不是 NTT 的原因。