#include <bits/stdc++.h>
using namespace std;
int n, m;
vector<int> x, y;
long long area_sum = 0;
long long modulo = 1e9 + 7;
long long add_area(size_t i, size_t j);
int main() {
  cin >> n >> m;
  x.resize(n);
  y.resize(m);
  for (size_t i = 0; i < n; i++) {
    cin >> x[i];
  }
  for (size_t j = 0; j < m; j++) {
    cin >> y[j];
  }
  for (size_t i = 1; i < n; i++) {
    for (size_t j = 1; j < m; j++) {
      area_sum += add_area(i, j);
      area_sum %= modulo;
    }
  }
  cout << area_sum << endl;
  return 0;
}
long long add_area(size_t i, size_t j) {
  long long area_part = ((x[i] - x[i - 1]) * (y[j] - y[j - 1])) % modulo;
  long long times = ((m - i) * (n - j) * i * j) % modulo;
  return (area_part * times) % modulo;
}
