#include using namespace std; using Int = long long; const char newl = '\n'; template inline void chmin(T1 &a,T2 b){if(a>b) a=b;} template inline void chmax(T1 &a,T2 b){if(a void drop(const T &x){cout< vector read(size_t n){ vector ts(n); for(size_t i=0;i>ts[i]; return ts; } //INSERT ABOVE HERE signed main(){ cin.tie(0); ios::sync_with_stdio(0); const Int MOD = 1e9+7; Int n; cin>>n; auto as=read(n); for(Int a:as) if(a==0) drop(-1); const int MAX = 4; Int dp[MAX]; for(Int i=1;i=MAX){ res=MOD+1; break; } res*=dp[a]; if(res>MOD) break; } cout<