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)