#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
//英语 看博友分析 抄博友程序 两字符串最长公共子序列 动态规划 背
char a[5050];
char b[5050];
int dp[2][5050];
int main()
{
int n;
cin>>n;
cin>>a+1;
for(int i=n,j=1;i>=1;i--,j++)
{
b[j]=a[i];
}
int e=1;
for(int i=1;i<=n;i++)
{
e=1-e;
for(int j=1;j<=n;j++)
{
if(a[i]==b[j])
{
dp[e][j]=dp[1-e][j-1]+1;
}else
{
dp[e][j]=max(dp[1-e][j],dp[e][j-1]);
}
}
}
cout<<n-dp[e][n]<<endl;
return 0;
}