from functools import cmp_to_key mod = 10**9 + 7 n = int(input()) a = list(map(int,input().split())) b = list(map(int,input().split())) dat = [(a[i],b[i]-1) for i in range(n)] def fraccomp(a, b): u = a[0] * b[1] - a[1] * b[0] if u > 0: return 1 elif u < 0: return -1 else: return 0 dat.sort(key=cmp_to_key(fraccomp)) #print(dat) ans = 0 for i in range(n-1,-1,-1): ans = (dat[i][0] + (dat[i][1]+1) * ans) % mod print(ans)