# coding:UTF-8 import sys MOD = 10 ** 9 + 7 INF = float('inf') def extGcd(a, b): if b == 0: return [a, 1, 0] else: g, x, y = extGcd(b, a%b) return [g, int(y), int(x - (a // b) * y)] def inv(a): r = extGcd(a, MOD) return r[1] % MOD def comb(n, k): if n < k: return 0 elif n < 0 or k < 0: return 0 a = 1 for i in range(k): a = a * (n - i) % MOD b = 1 for i in range(1, k+1): b = b * i % MOD binv = inv(b) return (a * binv) % MOD M = int(input()) # 数字 H = list(map(int, input().split())) # スペース区切り連続数字 K = len(H) if H[0] == 0: print("1") exit() t = 0 for i in range(K): if i == K - 1: t += H[i] else: t += H[i] + 1 zan = M - t res = comb(zan+K, K) if res == 0: print("NA") else: print("{}".format(res))