#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
ll mod(ll a) {
while (a < 0) a += 1000000007;
return a % 1000000007;
}
ull mod(ull a) {
return a % 1000000007;
}
int n;
ll a[500010], b[500010];
ll sa[500010], sb[500010];
ull l, ra, rb;
int main() {
ios::sync_with_stdio(0);
cin.tie(0), cout.tie(0);
freopen("P5686_4.in", "r", stdin);
freopen("a.out", "w", stdout);
cin >> n;
for (int i = 1; i <= n; i++) cin >> a[i];
for (int i = 1; i <= n; i++) cin >> b[i];
for (int i = 1; i <= n; i++) sa[i] = mod(sa[i - 1] + a[i]);
for (int i = 1; i <= n; i++) sb[i] = mod(sb[i - 1] + b[i]);
for (int i = 1; i <= n; i++) {
l = mod(l + mod(sa[i] * sb[i]));
ra = mod(ra + sa[i]);
rb = mod(rb + sb[i]);
}
cout << mod(mod((n + 1)*l) - mod(ra * rb));
return 0;
}
(附提交记录)