#include <bits/stdc++.h>
int main(void) {
  int numx, numy;
  scanf("%d %d", &numx, &numy);
  int zahyou_x[numx];
  int zahyou_y[numy];
  for (int i = 0; i < numx; i++) {
    scanf("%d", &zahyou_x[i]);
  }
  for (int i = 0; i < numy; i++) {
    scanf("%d", &zahyou_y[i]);
  }
  long long int x_sum = 0, y_sum = 0;
  for (int i = 0; i < numx; i++) {
    x_sum += (long)zahyou_x[i] * (i * 2 - numx + 1);
  }
  for (int i = 0; i < numy; i++) {
    y_sum += (long)zahyou_y[i] * (i * 2 - numy + 1);
  }
  printf("%lld\n", (x_sum % 1000000007 * y_sum % 1000000007) % 1000000007);
  return 0;
}
