n = int(input()) A_ = list(map(int, input().split())) B_ = list(map(int, input().split())) A = [] for i in range(n): if A_[i]: if 0 < A_[i]: A.append((A_[i], B_[i])) else: A.append((-A_[i], -B_[i])) from functools import cmp_to_key def cmp(a, b): if -a[1] * b[0] < -b[1] * a[0]: return -1 else: return 1 #lst = [] A.sort(key = cmp_to_key(cmp)) #A.sort(key = lambda x: -x[1] / x[0]) ans0 = 0 ans1 = 0 for i in range(len(A)): ans1 += A[i][0] mod = 10**9+7 for i in range(len(A)): ans0 += A[i][0] ans1 -= A[i][0] if ans0 >= ans1: a, b = A[i] #print(a, b, i) print(b * pow(a, -1, mod) % mod) break