def gcd(a: int, b: int) -> int:
    """a, bの最大公約数(greatest common divisor: GCD)を求める
    計算量: O(log(min(a, b)))
    """
    while b:
        a, b = b, a % b
    return a


n = int(input())
m = int(input())
a = list(map(int, input().split()))
b = list(map(int, input().split()))
MOD = 10 ** 9 + 7


ans = 0
for i in range(n):
    a_val = a[i]
    for j in range(m):
        b_val = b[j]
        gcd_ = gcd(a_val, b_val)
        ans += gcd_ + (a_val - 1) * (b_val - 1) - 1
        ans += 2 * a_val
        ans %= MOD

print(ans)