#include <bits/stdc++.h>
using namespace std;
int main() {
  long long n, m, i, j, a, b, sum = 0;
  cin >> n >> m;
  vector<long long> x(n - 1), y(m - 1);
  cin >> a;
  for (i = 0; i < n - 1; i++) {
    cin >> b;
    if (n % 2 != 0) {
      if (i < (n - 1) / 2) {
        x[i] = (b - a) * (i + n - 1);
      } else {
        x[i] = (b - a) * (-i + 2 * n - 3);
      }
    } else {
      if (i <= n / 2 - 1) {
        x[i] = (b - a) * (i + n - 1);
      } else {
        x[i] = (b - a) * (-i + 2 * n - 3);
      }
    }
    a = b;
  }
  cin >> a;
  for (i = 0; i < m - 1; i++) {
    cin >> b;
    if (m % 2 != 0) {
      if (i < (m - 1) / 2) {
        y[i] = (b - a) * (i + m - 1);
      } else {
        y[i] = (b - a) * (-i + 2 * m - 3);
      }
    } else {
      if (i <= m / 2 - 1) {
        y[i] = (b - a) * (i + m - 1);
      } else {
        y[i] = (b - a) * (-i + 2 * m - 3);
      }
    }
    a = b;
  }
  for (i = 0; i < n; i++) {
    for (j = 0; j < m; j++) {
      sum += x[i] * y[j];
    }
    sum %= 100000007;
  }
  cout << sum << endl;
}
