#include <bits/stdc++.h>
using namespace std;
const int MOD = 1e9 + 7;
const int MAXN = 1000100;
int n, k, m;
char t[2 * MAXN];
int dp[2 * MAXN];
int sum[2 * MAXN];
int lst[30];
void add(int &x, int y) {
  x += y;
  if (x >= MOD) x -= MOD;
}
void sub(int &x, int y) {
  x -= y;
  if (x < 0) x += MOD;
}
int main() {
  scanf("%d%d%s", &n, &k, t + 1);
  m = strlen(t + 1);
  sum[0] = dp[0] = 1;
  for (int i = 1; i <= n + m; ++i) {
    if (i > m) {
      int bst = 0;
      for (int j = 0; j < k; ++j) {
        if (lst[bst] > lst[j]) {
          bst = j;
        }
      }
      t[i] = bst + 'a';
    }
    dp[i] = sum[i - 1];
    if (lst[(int)t[i] - 'a']) {
      sub(dp[i], sum[lst[(int)t[i] - 'a'] - 1]);
    }
    sum[i] = sum[i - 1];
    add(sum[i], dp[i]);
    lst[(int)t[i] - 'a'] = i;
  }
  printf("%d\n", sum[n + m]);
  return 0;
}
