#include <bits/stdc++.h>
using namespace std;
long long modpow(long long a, long long b,
                 long long mod = (long long)(1e9 + 7)) {
  if (!b) return 1;
  a %= mod;
  return modpow(a * a % mod, b / 2, mod) * (b & 1 ? a : 1, mod) % mod;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  int n, k;
  cin >> n >> k;
  string s;
  cin >> s;
  int m = s.length();
  int ls[k];
  memset(ls, -1, sizeof(ls));
  long long sum[n + m], ssss[n + m];
  int mod = int(1e9 + 7);
  int sss = 1;
  for (int i = 0; i < m + n; i++) {
    ssss[i] = sss;
    sum[i] = sss;
    if (i < m) {
      if (ls[s[i] - 'a'] != -1)
        sum[i] = (sum[i] - ssss[ls[s[i] - 'a']] + mod) % mod;
    } else {
      char best = 'a';
      for (int c = 0; c < k; c++)
        if (ls[best - 'a'] == -1)
          continue;
        else if (ls[c] == -1 || ls[best - 'a'] > ls[c])
          best = c + 'a';
      s += best;
      if (ls[s[i] - 'a'] != -1)
        sum[i] = (sum[i] - ssss[ls[s[i] - 'a']] + mod) % mod;
    }
    ls[s[i] - 'a'] = i;
    sss = (sss + sum[i]) % mod;
  }
  cout << sss % mod << endl;
  return 0;
}
