#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, m;
  cin >> n >> m;
  vector<long long> xaxis, yaxis;
  for (int i = 0; i < n; i++) {
    long long x;
    cin >> x;
    xaxis.push_back(x);
  }
  for (int i = 0; i < m; i++) {
    long long y;
    cin >> y;
    yaxis.push_back(y);
  }
  long long sum = 0, mod = 1e9 + 7;
  for (int i = 0; i < n - 1; i++) {
    for (int j = 0; j < m - 1; j++) {
      long long xlen = xaxis[i + 1] - xaxis[i];
      long long ylen = yaxis[j + 1] - yaxis[j];
      long long num = ((n - 1 - i) * (i + 1) * (m - 1 - j) * (j + 1)) % mod;
      sum = ((xlen * ylen * num) % mod + sum) % mod;
    }
  }
  cout << sum << endl;
}
