# import sys; input = sys.stdin.buffer.readline # sys.setrecursionlimit(10**7) from collections import defaultdict con = 10 ** 9 + 7; INF = float("inf") def getlist(): return list(map(int, input().split())) #処理内容 def main(): N = int(input()) ans = 0 A = [] for i in range(N + 1): a = int(input()) A.append(a) B = [] for i in range(N + 1): b = int(input()) B.append(b) Bs = [0] for i in range(N + 1): Bs.append(Bs[-1] + B[i]) for i in range(N + 1): ans += A[i] * Bs[-1 - i] ans %= con print(ans) if __name__ == '__main__': main()