#include<stdio.h>
 
long long n,m,x[100000],y[100000];
 
int main(void){
    scanf("%lld%lld",&n,&m);
    for(int i = 0;i < n;i++)
        scanf("%lld",&x[i]);
    for(int i = 0;i < m;i++)
        scanf("%lld",&y[i]);
 
    long long n2,m2;
 
    n2 = (-1) * n;m2 = m * (-1);n2++;m2++;
 
    long long xx = 0,yy = 0;
 
    for(int i = 0;i < n;i++){
        xx += n2 * x[i] % 1000000007;
        xx %= 1000000007;
        n2 += 2;
    }
    for(int i = 0;i < m;i++){
        yy += m2 * y[i] % 1000000007;
        yy %= 1000000007;
        m2 += 2;
    }
    printf("%lld\n",xx * yy % 1000000007);
    return 0;
}