#!/usr/bin/env PyPy3 from collections import Counter, defaultdict, deque import itertools import re import math from functools import reduce import operator import bisect from heapq import * import functools mod=10 ** 9 + 7 import sys input=sys.stdin.readline n = int(input()) a = list(map(int,input().split())) b = list(map(int,input().split())) ab = [] c = [] for i in range(n): if b[i] != 1: ab.append([a[i],b[i]]) else: c.append([a[i],b[i]]) ab.sort(key = lambda x:x[0]/(x[1] - 1)) ans = 0 now = 1 for a,b in ab: ans += now * a ans %= mod now *= b now %= mod for a,b in c: ans += now * a ans %= mod now *= b now %= mod print(ans)