#define _USE_MATH_DEFINES
#include<iostream>
#include<vector>
#include<algorithm>
#include<cmath>
#include<string>
#include<iomanip>
#include<cassert>
#include<functional>

int main(){
	std::ios::sync_with_stdio(false);
	std::cin.tie(0);

	const long long subtract = 1000000007;
	long long n;
	long long temp_b;
	long long temp_b_sum = 0;
	long long ans = 0;

	std::cin >> n;

	std::vector<long long> a(n + 1);
	std::vector<long long> b_sum(n + 1);

	for (long long i = 0; i < n + 1; i++){
		std::cin >> a[i];
	}
	for (long long i = 0; i < n + 1; i++){
		std::cin >> temp_b;
		temp_b_sum += temp_b;
		temp_b_sum %= subtract;
		b_sum[i] = temp_b_sum;
	}
	//入力終わり

	for (long long i = 0; i < n + 1; i++){
		ans += a[i] * b_sum[n - i];
		ans = ans % subtract;
	}

	std::cout << ans << '\n';

	return 0;
}