#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define MOD 1000000007 using namespace std; typedef long long ll; class Solution { public: void solve(std::istream& in, std::ostream& out) { int n; in >> n; ++n; int a[n], b[n]; for (int ctr1 = 0; ctr1 < n; ++ctr1) in >> a[ctr1]; for (int ctr1 = 0; ctr1 < n; ++ctr1) in >> b[ctr1]; ll total = accumulate(a, a + n, 0LL) % MOD; ll rez = 0; for (int ctr1 = 0; ctr1 < n; ++ctr1) rez = (rez + total * b[ctr1]) % MOD, total = (total - a[n - ctr1 - 1] + MOD) % MOD; out << rez << "\n"; } }; void solve(std::istream& in, std::ostream& out) { out << std::setprecision(12); Solution solution; solution.solve(in, out); } // Powered by caide (code generator, tester, and library code inliner) #include #include int main() { ios_base::sync_with_stdio(false); cin.tie(0); istream& in = cin; ostream& out = cout; solve(in, out); return 0; }