import sys readline=sys.stdin.readline N=int(readline()) E=[int(readline()) for i in range(N)] mod=10**9+7 dp=[[0]*4 for i in range(4)] for i in range(2): for j in range(2): for k in range(2): if (i,j,k)==(1,1,1) or (j,k)==(0,0): e=0 else: e=1 if E[1]==e: dp[i*2+j][j*2+k]+=1 for e in E[2:-1]: prev=dp dp=[[0]*4 for i in range(4)] for i in range(4): for j in range(2): for k in range(2): for l in range(2): if (j,k,l)==(1,1,1) or (k,l)==(0,0): ee=0 else: ee=1 if e==ee: dp[i][k*2+l]+=prev[i][j*2+k] dp[i][k*2+l]%=mod for i in range(2): for j in range(2): for k in range(2): for l in range(2): if (k,l,i)==(1,1,1) or (l,i)==(0,0): e=0 else: e=1 if E[-1]!=e: dp[i*2+j][k*2+l]=0 if (l,i,j)==(1,1,1) or (i,j)==(0,0): e=0 else: e=1 if E[0]!=e: dp[i*2+j][k*2+l]=0 ans=sum(dp[i][j] for i in range(4) for j in range(4))%mod print(ans)