#include using namespace std; #include using namespace atcoder; //using mint = modint1000000007; using mint = modint998244353; template bool chmax(T &u, const T z) { if (u < z) {u = z; return true;} else return false; } template bool chmin(T &u, const T z) { if (u > z) {u = z; return true;} else return false; } #define ll long long #define rep(i, n) for (ll i = 0; i < (ll)(n); i++) typedef pair P; ll gcd(ll x, ll y) { return y ? gcd(y, x % y) : x; } ll lcm(ll a, ll b){return a * b / gcd(a, b);} int main(){ int n; cin>>n; vectora(n),b(n-1); rep(i,n)cin>>a[i]; rep(i,n-1){ if(a[i]+a[i+1]==2)b[i]=2; else if(a[i]+a[i+1]==3)b[i]=3; else if(a[i]!=1&&a[i+1]!=1)b[i]=1; else if(a[i]!=2&&a[i+1]!=2)b[i]=2; else b[i]=min(a[i],a[i+1])+1LL; } //rep(i,n-1)cout<