#include<stdio.h>
int ar[10000];
int n;
int i,j;

int min(int a,int b){
	if(a<=b)return a;
	else return b;
}

int calc(int s1,int s2,int color){
	int c=0;
	int os1=s1;
	int os2=s2;
	while(ar[s1]==color){
		c++;
		s1--;
		if(s1<0)break;
	}
	while(ar[s2]==color){
		c++;
		s2++;
		if(s2>n-1)break;
	}
	if(c<4)return os1+1+(n-os2);
	if(s1<0||s2>n-1||ar[s1]!=ar[s2])return s1+1+(n-s2);
	return calc(s1,s2,ar[s1]);
}

int main(){
	while(1){
		scanf("%d",&n);
		if(n==0)return 0;
		int ans=n;
		for(i=0;i<n;i++)scanf("%d",&ar[i]);
		for(i=0;i<n-1;i++){
			int oi1=ar[i+1];
			int oi2=ar[i];
			ar[i+1]=ar[i];
			ans=min(ans,calc(i,i+1,ar[i]));
			ar[i]=oi1;
			ar[i+1]=oi1;
			ans=min(ans,calc(i,i+1,ar[i+1]));
			ar[i]=oi2;
			ar[i+1]=oi1;
		}
		printf("%d\n",ans);
	}
}