n = int(input()) A = list(map(int, input().split())) B = list(map(int, input().split())) AB = [] AB1 = [] for i in range(n): if B[i] == 1: AB1.append((A[i], B[i])) else: AB.append((A[i], B[i])) AB.sort(key=lambda x: x[0] / (x[1] - 1)) mod = 10**9 + 7 ans = 0 curr = 1 for a, b in AB: ans += curr * a % mod ans %= mod curr *= b curr %= mod for a, _ in AB1: ans += curr * a % mod ans %= mod print(ans)