from functools import lru_***
N=int(input()) S=input().split(' ')
MOD = 10**9 + 7
N = len(S)
@lru_***(None)
def dp(i, j):
if i == 0:
return 1
elif S[i-1] == '1':
return sum(dp(i-1, k)
for k in range(j, i)) % MOD
else: return sum(dp(i-1, k) for k in range(j)) % MOD
print(sum(dp(N, j) for j in range(N+1)) % MOD)