#include<cstdio>
#include<vector>

using namespace std;

typedef	vector<int>	vi;

int chain(vi py,int u,int l){
	int n=py.size(),rem=(u+1)+(n-l);
	if(u<0 || n<=l)	return rem;

	int color=py[u],cnt=0;
	for(;u>=0;u--,cnt++){
		if(py[u]!=color)	break;
	}
	for(;l<n;l++,cnt++){
		if(py[l]!=color)	break;
	}
	if(cnt>=4)	return chain(py,u,l);
	return rem;
}

int main(){
	for(int n;scanf("%d",&n),n;){
		vi py(n);
		for(int i=0;i<n;i++)	scanf("%d",&py[i]);

		int pymin=1<<30;
		for(int i=0;i<n;i++)for(int c=1;c<=3;c++){
			if(py[i]!=c){
				int tmp=py[i];
				py[i]=c;
				if(i>0 && py[i-1]==c)			pymin=min(pymin,chain(py,i-1,i));
				else if(i<n-1 && py[i+1]==c)	pymin=min(pymin,chain(py,i,i+1));
				py[i]=tmp;
			}
		}

		printf("%d\n",pymin);
	}

	return 0;
}