#include using namespace std; #define INF 100000000 #define YJ 1145141919 #define INF_INT_MAX 2147483647 #define INF_LL 9223372036854775 #define INF_LL_MAX 9223372036854775807 #define EPS 1e-10 #define MOD 1000000007 #define MOD9 998244353 #define Pi acos(-1) #define LL long long #define ULL unsigned long long #define LD long double #define int long long #define FOR(i,a,b) for(int i=(a);i<(b);++i) #define REP(i,n) FOR(i,0,n) #define ALL(a) begin((a)), end((a)) #define RALL(a) (a).rbegin(), (a).rend() #define PB push_back #define MP make_pair #define SZ(a) int((a).size()) const int MAX_N = 100005; int N; int A[MAX_N]; int B[MAX_N]; int sumB[MAX_N]; signed main() { cin >> N; N++; REP(n,N) { cin >> A[n]; } REP(n,N) { cin >> B[n]; sumB[n+1] = (sumB[n] + B[n]) % MOD; } int ans = 0; REP(n,N) { ans += A[n]*sumB[N-n]; ans %= MOD; } cout << ans << endl; return 0; }