#!/usr/bin/env python #coding:utf8 MOD = 1000000007 def read(): M = input() hList = map(int, raw_input().split()) return M, hList def mypow(p, n): if n == 0: return 1 t = mypow(p, n / 2) return t * t % MOD if n % 2 == 0 else t * t * p % MOD def nCk(n, k): nume = 1 for i in range(k): nume = nume * (n - i) % MOD deno = 1 for i in range(k): deno = deno * (i + 1) % MOD return nume * mypow(deno, MOD - 2) % MOD def nHk(n, k): return nCk(n + k - 1, k) def work((M, hList)): if sum(hList) == 0: print 1 return N = len(hList) + 1 K = M - sum(hList) - (len(hList) - 1) if K < 0: print "NA" else: print nHk(N, K) if __name__ == "__main__": work(read())