#include <bits/stdc++.h>
using namespace std;
long long dp[2][2][4];
char S[1000100];
int n, m;
int main() {
  scanf("%d%d %s", &n, &m, S);
  dp[0][0][1] = 1;
  dp[1][0][1] = 1;
  long long(*a)[4], (*b)[4];
  a = dp[0];
  b = dp[1];
  for (int i = 0; i < n; i++) {
    a[0][2] = b[0][2] + b[1][3] * ((i > 0 && S[i - 1] != S[i + 1])) +
              b[0][3] * (i > 0 && S[i - 1] != S[i + 1]);
    a[0][3] = S[i] != S[i + 1];
    a[1][0] = b[1][0] + b[1][3] * (i > 0 && S[i - 1] != S[i + 1]) +
              (m - 1 - ((i + 1 < n) && S[i] != S[i + 1])) +
              b[0][3] * (i > 0 && S[i - 1] != S[i + 1]);
    a[1][1] = b[0][2] * (m - (i + 1 < n)) +
              b[1][3] * (m - 1 - (i + 1 < n && i > 0 && S[i + 1] != S[i - 1])) +
              b[0][3] * (m - 1 - (i > 0 && i + 1 < n && S[i + 1] != S[i - 1])) +
              b[1][0] * (i > 0 && S[i] != S[i - 1]) + b[1][1];
    a[1][3] = b[0][3] * (i > 0 && S[i + 1] == S[i - 1]) +
              b[1][3] * (i > 0 && S[i + 1] == S[i - 1]);
    long long(*tmp)[4];
    tmp = a;
    a = b;
    b = tmp;
  }
  printf("%I64d", b[1][0] + b[1][1]);
  return 0;
}
