#include <bits/stdc++.h>
using namespace std;
bool isPrime(int n) {
  if (n == 1) return false;
  int k = 0;
  for (int j = 2; j <= sqrt(n); j++) {
    if (n % j == 0) k++;
    if (k > 0) {
      return false;
    }
  }
  if (k == 0) return true;
}
bool isOnSameLine(int x1, int y1, int x2, int y2, int x3, int y3) {
  return (y1 - y2) * (x1 - x3) == (y1 - y3) * (x1 - x2);
}
bool isSorted(int A[], int n) {
  for (int i = 1; i < n; i++) {
    if (A[i] < A[i - 1]) return false;
  }
  return true;
}
int GCD(int a, int b) {
  if (b == 0) {
    return a;
  } else {
    GCD(b, a % b);
  }
}
string toBinary(int n) {
  string s = "";
  while (n != 0) {
    if (n % 2 == 0) {
      s = "0" + s;
    } else
      s = "1" + s;
    n /= 2;
  }
  return s;
}
bool isPal(string s) {
  int l = s.size();
  for (int i = 0; i < l; i++) {
    if (s[i] != s[l - 1 - i]) return false;
  }
  return true;
}
long long int toDec(string s) {
  long long int sum = 0;
  long long l = 1;
  for (int i = s.size() - 1; i >= 0; i--) {
    sum += l * (s[i] - '0');
    l *= 2;
  }
  return sum;
}
int main() {
  ios::sync_with_stdio(0);
  int n, p;
  cin >> n >> p;
  string s;
  cin >> s;
  n--;
  p--;
  if (p > n / 2) p = n - p;
  int st = -1, e = 0;
  int ans = 0;
  for (int i = 0; i <= n / 2; i++) {
    if (s[i] != s[n - i]) {
      int b, a = s[i] < s[n - i] ? s[i] : s[n - i];
      if (a == s[i])
        b = s[n - i];
      else
        b = s[i];
      if (b - a <= a - 'a' + 'z' - b + 1)
        ans += b - a;
      else
        ans += a - 'a' + 'z' - b + 1;
      if (st == -1) {
        st = i;
      }
      e = i;
    }
  }
  if (ans == 0)
    cout << 0;
  else {
    if (p <= st) {
      ans += e - p;
    } else if (st <= p && p <= e && (p - st <= e - p)) {
      ans += (p - st) + (e - st);
    } else if (st <= p && p <= e && (e - p < p - st)) {
      ans += (e - p) + (e - st);
    } else if (e <= p) {
      ans += p - st;
    }
    cout << ans;
  }
  return 0;
}
