#include<cstdio>
#include<algorithm>
#include<vector>
using namespace std;
int solve(vector<int> cols,int st){
    int l=st,r=st;
    for(int ix=0;;ix++){
        int ncol=cols[l];
        int befl=l,befr=r;
        for(;l>=0;l--){
            if(cols[l]!=ncol){
                l++;
                break;
            }
        }
        if(l<0)l=0;
        for(;r<cols.size();r++){
            if(cols[r]!=ncol){
                r--;
                break;
            }
        }
        if(r>=cols.size())r=cols.size()-1;
        int va=(r-befr)+(befl-l);
        if(befl==befr)va+=1;
        else va+=2;
        if(va==cols.size())return 0;
        if(va<4){
            r=befr;
            l=befl;
            break;
        }
        l--;
        r++;
    }
    return cols.size()-(r-l-1);
}
int main(){
    for(;;){
        int n;
        scanf("%d",&n);
        if(n==0)break;
        vector<int> cols(n);
        for(int i=0;i<n;i++){
            scanf("%d",&cols[i]);
            cols[i]-=1;
        }
        int mi=n;
        for(int i=0;i<n;i++){
            vector<bool> able(3,true);
            able[cols[i]]=false;
            for(int j=0;j<3;j++){
                if(able[j]){
                    int te=cols[i];
                    cols[i]=j;
                    mi=min(mi,solve(cols,i));
                    cols[i]=te;
                }
            }
        }
        printf("%d\n",mi);
    }
}