p = 10**9+7 M = int(raw_input()) H = map(int,raw_input().split()) lenH = len(H) fact=[1] for i in xrange(1,M+1): fact+=[i*fact[i-1]%p] finv=[0]*(M+1) finv[M]=pow(fact[M],p-2,p) for i in xrange(M,0,-1): finv[i-1]=i*finv[i]%p rest = M - sum(H) - (lenH - 1) if H[0] == 0: print 1 elif rest < 0: print "NA" else: print fact[lenH+rest]*finv[lenH]*finv[rest] % p