#include<cstdio>
#define int long long
#define mod 1000000007
int prefix1[500005],prefix2[500005];
signed main(signed,char**){
int answer=0,size=0,sum1=0,sum2=0;
scanf("%lld",&size);
for(int iter=1;iter<=size;++iter){
int got;
scanf("%lld",&got);
prefix1[iter]=prefix1[iter-1]+got;
};
for(int iter=1;iter<=size;++iter){
int got;
scanf("%lld",&got);
prefix2[iter]=prefix2[iter-1]+got;
};
for(int iter=1;iter<=size;++iter){
answer=(answer+(((size+1)*prefix1[iter])%mod)*prefix2[iter]%mod)%mod;
sum1=(sum1+prefix1[iter])%mod;
sum2=(sum2+prefix2[iter])%mod;
};
int top=(sum1*sum2)%mod;
printf("%lld",(answer-top+mod)%mod);
return 0;
};