#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; }