#include
#include
#include
using namespace std;
int dp[30005][4];
int n;
vectorv;
int rec(int i, int type){
if(i==n){
return 0;
}
if(dp[i][type]!=-1){
return(dp[i][type]);
}
int result=1000000000;
if(type==3){
int greska=0;
if(v[i]!=type){
greska=1;
}
result=min(result, rec(i+1, 3)+greska);
result=min(result, rec(i+1, 2)+greska);
result=min(result, rec(i+1, 1)+greska);
}
if(type==2){
int greska=0;
if(v[i]!=type){
greska=1;
}
result=min(result, rec(i+1, 2)+greska);
result=min(result, rec(i+1, 1)+greska);
}
if(type==1){
int greska=0;
if(v[i]!=type){
greska=1;
}
result=min(result, rec(i+1, 1)+greska);
}
dp[i][type]=result;
return(result);
}
int main()
{
cin>>n;
for(int i=0; i>a;
v.push_back(a);
}
for(int i=0; i