# frozen_string_literal: true N = gets.to_i AS = (N + 1).times.map { gets.to_i } BS = (N + 1).times.map { gets.to_i } puts(BS.each_with_object([]) { |v, a| a << (a.last || 0) + v } .reverse.zip(AS).map { |b, a| a * b }.sum % (10**9 + 7))