WA on #8 9 10
#include<bits/stdc++.h>
#define int unsigned long long
using namespace std;
const int N=6e5+25;
const int MOD=1e9+7;
int a[N],b[N],asum[N],bsum[N];
int f(int l,int r){
int ans=0;
for(int i=l;i<=r;i++)
ans+=asum[i]*bsum[i],ans%=MOD;
return ans%MOD;
}
int k(int l,int r){
int ans1=0,ans2=0;
for(int i=l;i<=r;i++)
ans1+=asum[i],ans1%=MOD;
for(int i=l;i<=r;i++)
ans2+=bsum[i],ans2%=MOD;
return (ans1*ans2)%MOD;
}
signed main(){
std::ios::sync_with_stdio(0);
int n;
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i],asum[i]=asum[i-1]+a[i];
for(int i=1;i<=n;i++)
cin>>b[i],bsum[i]=bsum[i-1]+b[i];
int x1=n+1;
int x2=f(1,n)%MOD;
int x3=k(1,n)%MOD;
cout<<(x1*x2-x3)%MOD;
}