#region Header #!/usr/bin/env python3 # from typing import * import sys import io import math import collections import decimal import itertools from queue import PriorityQueue import bisect import heapq def input(): return sys.stdin.readline()[:-1] sys.setrecursionlimit(1000000) #endregion # _INPUT = """# paste here... # """ # sys.stdin = io.StringIO(_INPUT) MOD = 1000000007 def main(): N = int(input()) A = [int(input()) for _ in range(N+1)] B = [int(input()) for _ in range(N+1)] # T[i] := B[0], ..., B[i] の和 T = [B[0]] for i in range(1, N+1): T.append((T[-1] + B[i]) % MOD) v = sum(A[i]*T[N-i] for i in range(N+1)) % MOD print(v) if __name__ == '__main__': main()