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)