#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef vector<int> vi; typedef vector<ll> vl; typedef pair<int,int> pii; typedef pair<ll,ll> pll; #define REP(i,n) for(int i=0;i<(int)(n);i++) #define FOR(i,a,b) for(int i=(int)(a);i<(int)(b);i++) #define FORR(i,a,b) for(int i=(int)(b)-1;i>=(int)(a);i--) #define CHMIN(a,b) (a)=min((a),(b)) #define CHMAX(a,b) (a)=max((a),(b)) #define DEBUG(x) cout<<#x<<": "<<(x)<<endl #define MOD 1000000007 int n; ll a[125252], b[125252]; ll asum[125252]; int main(){ scanf("%d",&n); REP(i,n+1)scanf("%lld",a+i); REP(i,n+1)scanf("%lld",b+i); REP(i,n+1)asum[i+1] = (asum[i]+a[i])%MOD; ll ans = 0; REP(i,n+1)(ans += b[i]*asum[n+1-i]%MOD) %= MOD; printf("%lld\n",ans); return 0; }