N = gets.to_i A = gets.split.map(&:to_i) B = gets.split.map(&:to_i) MOD = 10**9 + 7 works = A.zip(B) works.sort! { |(a1, b1), (a2, b2)| a1 + b1 * a2 <=> a2 + b2 * a1 } works.reverse! ans = 0 x = 1 works.each do |a, b| ans += x * a ans %= MOD x = x * b % MOD end puts ans