#include <cstdio>
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;

int main(){
  int i,j,n,a[10000],b[10000],ans;
  bool f[10000],f2;
  while(1){
    cin >> n;
    if(n == 0) break;
    for(i=0;i<n;i++){
      cin >> a[i];
      f[i] = false;
    }

    for(i=1;i<n-3;i++){
      if(a[i] == a[i+1] && a[i] == a[i+2]){
	f[i-1] = f[i+3] = true;
      }
      if(a[i-1] == a[i] && a[i-1] && a[i+2]) f[i+1] = true;
      if(a[i-1] == a[i+1] && a[i-1] && a[i+2]) f[i] = true;
    }

    ans = n;

    for(i=0;i<n;i++){
      if(f[i]){
	for(j=0;j<n;j++) b[j] = a[j];
	if(b[i-1] == b[i-2]) b[i] = b[i-1];
	else if(b[i+1] && b[i+2]) b[i] = b[i+1];
	int m = n;
	while(1){
	  f2 = false;
	  for(j=0;j<m-3;j++){
	    if(b[j] == b[j+1] && b[j] == b[j+2] && b[j] == b[j+3]){
	      f2 = true;
	      int l = 4;
	      for(int k=j+4;k<m;k++){
		if(b[j] == b[k]) l++;
		else break;
	      }

	      for(int k=j+l;k<m;k++){
		b[k-l] = b[k];
	      }
	      m -= l;
	    }
	  }
	  if(!f2){
	    ans = min(ans,m);
	    break;
	  }
	}
      }
    }

    cout << ans << endl;

  }
  return 0;
}