#include<bits/stdc++.h>
using namespace std;
const int MAX = 101;
//here 60 denotes there is nothing before it
int n;
string s;
vector<vector<int> > dp(MAX,vector<int>(100,-1));
int solve(int pos,int last){
if(dp[pos][last]!=-1) return dp[pos][last];
if(pos == n) return 0;
int mn = 0,p1 = 0,p2 = 0;
p1 = solve(pos+1,s[pos] - 'a');
if((pos == 0 || last == 60) && s[pos]!='a'){
if(pos+1<n && ((s[pos]-'a')-1) == (s[pos+1]- 'a')) p2 = 1+solve(pos+1,last);
}
else if(s[pos] != 'a' && pos!=0){
if((s[pos]-'a')-1 == last) p2 = 1+solve(pos+1,last);
else if(pos+1 <n && (s[pos]-'a')-1 == (s[pos+1] - 'a')) p2 = 1+solve(pos+1,last);
}
mn = max(p1,p2);
dp[pos][last] = mn;
return mn;
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
cin>>n>>s;
if(n==1) return cout<<0<<'\n',0;
cout<<solve(0,60)<<'\n';
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKY29uc3QgaW50IE1BWCA9IDEwMTsKCi8vaGVyZSA2MCBkZW5vdGVzIHRoZXJlIGlzIG5vdGhpbmcgYmVmb3JlIGl0CmludCBuOwpzdHJpbmcgczsKdmVjdG9yPHZlY3RvcjxpbnQ+ID4gZHAoTUFYLHZlY3RvcjxpbnQ+KDEwMCwtMSkpOwoKaW50IHNvbHZlKGludCBwb3MsaW50IGxhc3QpewoJCglpZihkcFtwb3NdW2xhc3RdIT0tMSkgcmV0dXJuIGRwW3Bvc11bbGFzdF07CgkKCWlmKHBvcyA9PSBuKSByZXR1cm4gMDsJCglpbnQgbW4gPSAwLHAxID0gMCxwMiA9IDA7CglwMSA9IHNvbHZlKHBvcysxLHNbcG9zXSAtICdhJyk7CgkKCWlmKChwb3MgPT0gMCB8fCBsYXN0ID09IDYwKSAmJiBzW3Bvc10hPSdhJyl7CgkJaWYocG9zKzE8biAmJiAoKHNbcG9zXS0nYScpLTEpID09IChzW3BvcysxXS0gJ2EnKSkgcDIgPSAxK3NvbHZlKHBvcysxLGxhc3QpOwoJfQoJZWxzZSBpZihzW3Bvc10gIT0gJ2EnICYmIHBvcyE9MCl7CgkJaWYoKHNbcG9zXS0nYScpLTEgPT0gbGFzdCkgcDIgPSAxK3NvbHZlKHBvcysxLGxhc3QpOwoJCWVsc2UgaWYocG9zKzEgPG4gJiYgKHNbcG9zXS0nYScpLTEgPT0gKHNbcG9zKzFdIC0gJ2EnKSkgcDIgPSAxK3NvbHZlKHBvcysxLGxhc3QpOwoJfQoJCgltbiA9IG1heChwMSxwMik7CglkcFtwb3NdW2xhc3RdID0gbW47CglyZXR1cm4gbW47Cn0KCgppbnQgbWFpbigpewoJCglpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKCWNpbi50aWUoMCk7IGNvdXQudGllKDApOwoJCgljaW4+Pm4+PnM7CgkKCWlmKG49PTEpIHJldHVybiBjb3V0PDwwPDwnXG4nLDA7CgkKCWNvdXQ8PHNvbHZlKDAsNjApPDwnXG4nOwoJcmV0dXJuIDA7Cn0=