#include <bits/stdc++.h>
using namespace std;
const long long mod = 1e9 + 7;
void add(long long& a, long long b) {
  a += b;
  if (a >= mod) {
    a -= mod;
  }
}
void sub(long long& a, long long b) {
  a -= b;
  if (a < 0) {
    a += mod;
  }
}
int main() {
  int n, k;
  cin >> n >> k;
  string s;
  cin >> s;
  vector<long long> v(k);
  vector<int> pos(k, -1);
  long long sum = 0;
  for (int i = 0; i < (int)(s).size(); ++i) {
    pos[s[i] - 'a'] = i;
    long long val = sum;
    add(val, 1);
    long long x = val;
    sub(x, v[s[i] - 'a']);
    add(sum, x);
    v[s[i] - 'a'] = val;
  }
  for (int i = 0; i < n; ++i) {
    int t = 0;
    for (int j = 1; j < k; ++j) {
      if (pos[j] < pos[t]) {
        t = j;
      }
    }
    pos[t] = (int)(s).size() + i;
    long long val = sum;
    add(val, 1);
    long long x = val;
    sub(x, v[t]);
    add(sum, x);
    v[t] = val;
  }
  add(sum, 1);
  cout << sum << "\n";
}
