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