#include <cstdio>
#include <algorithm>
using namespace std;
int color[10005],leng,go;
int ens(int h,int yu){
	color[h]=yu;
	int a=h,b=h;
	bool w=true;
	int s=0,u=0,ans=leng;
	while(1){
	int c=a,d=b;
	while(a>=1){
		if(color[a]==color[c]){
			s++;
			a--;
		}else{
			break;
		}
	}
	while(b<=leng){
		if(color[b]==color[d]){
			u++;
			b++;
		}else{
			break;
	}
	}
	if(w){
		if(s+u>=5){
				ans-=(s+u-1);
				s=0;
				u=0;
				w=false;
		}
		if(w){
			return ans;
			break;
		}
	}else{
		if(s+u>=4){
			if(color[c]==color[d]){
				ans-=(s+u);
				s=0;
				u=0;
			}else{
				return ans; break;
			}
	}else{
		return ans; break;
		}
	}

}
}
	int main(){
		while(1){
		int num;
		scanf("%d",&leng);
		if(leng==0) break;
		num=100000;
		for(int i=1;i<=leng;i++){
			scanf("%d",&color[i]);
		}
		color[0]=color[2];
		color[leng+1]=color[leng-1];
		for(int i=1;i<=leng;i++){
			go=color[i];
			num=min(num,ens(i,1));
			num=min(num,ens(i,2));
			num=min(num,ens(i,3));
			color[i]=go;
		}
		printf("%d\n",num);
	}
		return 0;
	}