#include <bits/stdc++.h>
using namespace std;
#define int long long
#define dd double
#define ld long double
#define ull unsigned long long
#define yes cout << "YES\n"
#define no cout << "NO\n"
#define el "\n"
#define Arwa ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define fix(x) cout << fixed << setprecision(x)
#define all(v) v.begin(),v.end()
#define dpp(v,val) memset(v,val,sizeof(v))
#define mod 1e9+7
#define oo 1e9
const int N = 1e5 + 5;
int gcd(int a, int b) { return b == 0 ? a : gcd(b, a % b); } // log(n) __gcd(a,b)
//todo اى ويل بريبير ماى بيبرز تو بى ذا بيست ان زيس وورلد
int n;
vector<int>v;
int dp[102][4];
int solve(int i,int j)
{
if(i==n) return 0;
int& ret=dp[i][j];
if(ret!=-1) return ret;
int l=solve(i+1,j),t=0;
if(j==0)
{
if(v[i]==0) t=solve(i+1,v[i]);
else if(v[i]==3) t=max(solve(i+1,2),solve(i+1,1))+1;
else t=solve(i+1,v[i])+1;
}
if(j==1)
{
if(v[i]==0) t=solve(i+1,v[i]);
else if(v[i]==3||v[i]==2) t=solve(i+1,2)+1;
}
if(j==2)
{
if(v[i]==0) t=solve(i+1,v[i]);
else if(v[i]==3||v[i]==1) t=solve(i+1,1)+1;
}
return ret=max(t,l);
}
void HereWeGoAgain()
{
cin>>n;
v.resize(n);
for(int i=0;i<n;i++) cin>>v[i];
dpp(dp,-1);
cout<<n-solve(0,0);
}
int32_t main()
{
Arwa
int t=1;
//cin>>t;
for(int i=1;i<=t;i++)
{
HereWeGoAgain();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgaW50IGxvbmcgbG9uZwojZGVmaW5lIGRkIGRvdWJsZQojZGVmaW5lIGxkIGxvbmcgZG91YmxlCiNkZWZpbmUgdWxsIHVuc2lnbmVkIGxvbmcgbG9uZwojZGVmaW5lIHllcyBjb3V0IDw8ICJZRVNcbiIKI2RlZmluZSBubyBjb3V0IDw8ICJOT1xuIgojZGVmaW5lIGVsICJcbiIKI2RlZmluZSBBcndhIGlvczo6c3luY193aXRoX3N0ZGlvKDApOyBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKI2RlZmluZSBmaXgoeCkgY291dCA8PCBmaXhlZCA8PCBzZXRwcmVjaXNpb24oeCkKI2RlZmluZSBhbGwodikgdi5iZWdpbigpLHYuZW5kKCkKI2RlZmluZSBkcHAodix2YWwpIG1lbXNldCh2LHZhbCxzaXplb2YodikpCiNkZWZpbmUgbW9kIDFlOSs3CiNkZWZpbmUgb28gMWU5CmNvbnN0IGludCBOID0gMWU1ICsgNTsKaW50IGdjZChpbnQgYSwgaW50IGIpIHsgcmV0dXJuIGIgPT0gMCA/IGEgOiBnY2QoYiwgYSAlIGIpOyB9IC8vIGxvZyhuKSBfX2djZChhLGIpCi8vdG9kbyDYp9mJINmI2YrZhCDYqNix2YrYqNmK2LEg2YXYp9mJINio2YrYqNix2LIg2KrZiCDYqNmJINiw2Kcg2KjZitiz2Kog2KfZhiDYstmK2LMg2YjZiNix2YTYrwppbnQgbjsKdmVjdG9yPGludD52OwppbnQgZHBbMTAyXVs0XTsKaW50IHNvbHZlKGludCBpLGludCBqKSAKewogIGlmKGk9PW4pIHJldHVybiAwOwogIGludCYgcmV0PWRwW2ldW2pdOwogIGlmKHJldCE9LTEpIHJldHVybiByZXQ7CiAgaW50IGw9c29sdmUoaSsxLGopLHQ9MDsKICBpZihqPT0wKQogIHsKICAgIGlmKHZbaV09PTApIHQ9c29sdmUoaSsxLHZbaV0pOwogICAgZWxzZSBpZih2W2ldPT0zKSB0PW1heChzb2x2ZShpKzEsMiksc29sdmUoaSsxLDEpKSsxOwogICAgZWxzZSB0PXNvbHZlKGkrMSx2W2ldKSsxOwogIH0KCiAgaWYoaj09MSkKICB7CiAgICBpZih2W2ldPT0wKSB0PXNvbHZlKGkrMSx2W2ldKTsKICAgIGVsc2UgaWYodltpXT09M3x8dltpXT09MikgdD1zb2x2ZShpKzEsMikrMTsKICB9CgogIGlmKGo9PTIpCiAgewogICAgaWYodltpXT09MCkgdD1zb2x2ZShpKzEsdltpXSk7CiAgICBlbHNlIGlmKHZbaV09PTN8fHZbaV09PTEpIHQ9c29sdmUoaSsxLDEpKzE7CiAgfQogIHJldHVybiByZXQ9bWF4KHQsbCk7Cn0Kdm9pZCBIZXJlV2VHb0FnYWluKCkKewogIGNpbj4+bjsKICB2LnJlc2l6ZShuKTsKICBmb3IoaW50IGk9MDtpPG47aSsrKSBjaW4+PnZbaV07CiAgZHBwKGRwLC0xKTsKICBjb3V0PDxuLXNvbHZlKDAsMCk7Cn0KaW50MzJfdCBtYWluKCkgCnsKICAgIEFyd2EKICAgIGludCB0PTE7CiAgICAvL2Npbj4+dDsKICAgIGZvcihpbnQgaT0xO2k8PXQ7aSsrKQogICAgewogICAgSGVyZVdlR29BZ2FpbigpOwogICAgfQogICAgcmV0dXJuIDA7Cn0=