#include <bits/stdc++.h>
using namespace std;
inline void scd(int &a) { scanf("%d", &a); }
inline void scdd(int &a, int &b) { scanf("%d %d", &a, &b); }
inline void sclld(long long int &a) { scanf("%lld", &a); }
int main() {
  int x, y;
  long long int a[200000];
  long long int b[200000];
  scdd(x, y);
  for (int i = 0; i < x; i++) {
    sclld(a[i]);
  }
  sort(a, a + x);
  for (int i = 0; i < y; i++) {
    sclld(b[i]);
  }
  sort(b, b + y);
  long long int d = 0, h, p;
  for (int i = 0; i < x; i++) {
    for (int j = i + 1; j < x; j++) {
      p = a[i] - a[j];
      if (p < 0) p *= -1;
      for (int k = 0; k < y; k++) {
        for (int l = k + 1; l < y; l++) {
          h = b[k] - b[l];
          if (h < 0) h *= -1;
          d += ((p % 1000000007) * (h % 1000000007)) % 1000000007;
        }
      }
    }
  }
  printf("%lld\n", d % 1000000007);
  return 0;
}
