#include <bits/stdc++.h>
using namespace std;
long long n, m, cnt[30][30], dp[(1 << 20)], psum[30];
int x[(1 << 20)], on[(1 << 20)], ps[(1 << 20)][30];
string second;
int main() {
  ios::sync_with_stdio(false);
  cin.tie(NULL);
  cin >> n >> m >> second;
  for (int i = 0; i < n - 1; i++)
    if (second[i] != second[i + 1])
      cnt[second[i] - 'a'][second[i + 1] - 'a']++,
          cnt[second[i + 1] - 'a'][second[i] - 'a']++;
  for (int i = 0; i < (1 << m); i++) dp[i] = 1e12;
  dp[0] = 0;
  for (int i = 0; i < (1 << m); i++)
    for (int j = m; j >= 0; j--)
      if (i & (1 << j)) x[i]++, on[i] = j;
  for (int i = 0; i < m; i++)
    for (int j = 0; j < (1 << m); j++) {
      if (!(j & (1 << i))) continue;
      if (x[j] == 1)
        for (int k = 0; k < m; k++) ps[j][i] -= cnt[i][k];
      else {
        long long t = on[j ^ (1 << i)];
        ps[j][i] = ps[j ^ (1 << t)][i] + 2 * cnt[i][t];
      }
    }
  for (int i = 0; i < (1 << m); i++)
    for (int j = 0; j < m; j++)
      if (i & (1 << j)) dp[i] = min(dp[i ^ (1 << j)] + x[i] * ps[i][j], dp[i]);
  cout << dp[(1 << m) - 1];
  return 0;
}
