#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm>
using namespace std;
int n,a[3010],f[3010][3010];
void init()
{
freopen("zl.in","r",stdin);
freopen("zl.out","w",stdout);
}
void readdata()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
}
void work()
{
for(int i=1;i<=n;i++)
{
for(int j=i+1;j<=n;j++)
f[i][j]=100000000;
}
for(int l=1;l<=n-1;l++)
{
for(int i=1;i<=n;i++)
{
int j=i+l;
if(j>n) break;
if(a[i]==a[j])
f[i][j]=f[i+1][j-1];
else f[i][j]=min(f[i+1][j]+1,min(f[i][j-1]+1,f[i+1][j-1]+1));
}
}
printf("%d",f[1][n]);
}
int main()
{
//init();
readdata();
work();
return 0;
}