15
txxtxttxxttxtxx
 3
myw
 127
xixtxixnxixtxixlxixtxixnxixtxixoxixtxixnxixtxixlxixtxixnxixtxixhxixtxixnxixtxixlxixtxixnxixtxixoxixtxixnxixtxixlxixtxixnxixtxix
 1
a
 10
isssisssss
 2
ff
 1
z

27824
 10
 944124121
 1
 176
 1
 1

#include <bits/stdc++.h>
using namespace std;
const long long MOD = 1e9 + 7;
const int MAX_N = 5000, SIGMA_SIZE = 26;
int trans[MAX_N][SIGMA_SIZE], f[MAX_N][MAX_N];
char s[MAX_N + 1];
int main() {
  int n;
  scanf("%d %s", &n, s);
  fill_n(trans[n - 1], SIGMA_SIZE, -1);
  trans[n - 1][s[n - 1] - 'a'] = n - 1;
  for (int i = n - 2; i >= 0; --i) {
    copy(trans[i + 1], trans[i + 1] + SIGMA_SIZE, trans[i]);
    trans[i][s[i] - 'a'] = i;
  }
  fill_n(f[n - 1], n, 1);
  for (int i = n - 2; i >= 0; --i)
    for (int j = 0; j < n; ++j)
      for (int k = 0; k < SIGMA_SIZE; ++k)
        f[i][j] = (f[i][j] + f[i + 1][trans[j][k]]) % MOD;
  int ans = 0;
  for (int j = 0; j < SIGMA_SIZE; ++j) ans = (ans + f[0][trans[0][j]]) % MOD;
  printf("%d\n", ans);
  return 0;
}
