N = 10**6 mod = 10**9+7 fac = [1]*(N+1) finv = [1]*(N+1) for i in range(N): fac[i+1] = fac[i] * (i+1) % mod finv[-1] = pow(fac[-1], mod-2, mod) for i in reversed(range(N)): finv[i] = finv[i+1] * (i+1) % mod n = int(input()) C = list(map(int, input().split())) table = [0]*n table[0] = 1 for i in range(1, n): table[i] = table[i-1]*10 table[i] %= mod s = sum(table)%mod c = 0 for i in range(9): c += (i+1)*C[i] c %= mod ans = fac[n-1]*s*c ans %= mod for i in range(9): ans *= finv[C[i]] print(ans%mod)