MOD = 10 ** 9 + 7 n = int(input()) A = list(map(int, input().split())) if 0 in A: print(0) exit() prod = 1 prod_all = 1 ans = 1 r = 0 A.append(10 ** 10) for l in range(n): while prod * A[r] < 10 ** 9: prod *= A[r] prod_all *= prod prod_all %= MOD r += 1 ans *= prod_all ans %= MOD le = r - l prod //= A[l] prod_all *= pow(A[l], le * (MOD - 2), MOD) prod_all %= MOD print(ans)