import sys input = lambda :sys.stdin.readline()[:-1] ni = lambda :int(input()) na = lambda :list(map(int,input().split())) yes = lambda :print("yes");Yes = lambda :print("Yes");YES = lambda : print("YES") no = lambda :print("no");No = lambda :print("No");NO = lambda : print("NO") ####################################################################### """ """ BIG = 10 ** 20 def f(a, b): return (2 * a * BIG + b) // (2 * b) n = ni() a = na() b = na() idx = [i for i in range(n) if a[i] != 0] a = [a[i] for i in idx] b = [b[i] for i in idx] n = len(a) s = sorted(range(n), key = lambda i: f(b[i], a[i])) i = s[(n-1) // 2] mod = 10 ** 9 + 7 print(b[i] * pow(a[i], mod-2, mod) % mod)