#include <bits/stdc++.h>
using namespace std;

const long long MOD = 1'000'000'007;

int main() {
    long long n, m;
    cin >> n >> m;
    vector<long long> x(n), y(m);
    for (int i = 0; i < n; i++) {
        cin >> x.at(i);
    }
    for (int i = 0; i < m; i++) {
        cin >> y.at(i);
    }

    long long ansx = 0, ansy = 0;
    for (int i = 0; i < n - 1; i++) {
        ansx += (x.at(i + 1) - x.at(i)) % MOD;
        ansx %= MOD;
    }
    for (int i = 0; i < m - 1; i++) {
        ansy += (i + 1) * (m - (i + 1)) % MOD * (n - 1) % MOD * (y.at(i + 1) - y.at(i)) % MOD;
        ansy %= MOD;
    }
    cout << (ansx * ansy) % MOD << endl;
}   