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>
const int MAXN = 5000 + 15;
const long long MOD = 1e9 + 7;
int dp[MAXN][MAXN] = {0};
int cnk[MAXN][MAXN] = {0};
bool used[MAXN][MAXN] = {false};
int count(int n, int k) {
  if (k == 0 || n == k) {
    return 1;
  }
  if (used[n][k]) return cnk[n][k];
  used[n][k] = true;
  cnk[n][k] = (count(n - 1, k - 1) + count(n - 1, k)) % MOD;
  return cnk[n][k];
}
int main() {
  int n = 0;
  std::cin >> n;
  std::string s;
  std::cin >> s;
  long long ans = 0;
  for (int i = 0; i < n; i++) {
    int sym = s[i] - 'a';
    dp[sym][1] = 1;
    for (int l = 2; l <= i + 1; l++) {
      dp[sym][l] = 0;
      for (int j = 0; j <= 25; j++) {
        if (sym != j && dp[j][l - 1]) {
          dp[sym][l] += dp[j][l - 1];
        }
      }
    }
  }
  for (int l = 1; l <= n; l++) {
    long long sum = 0;
    for (int j = 0; j <= 25; j++) {
      sum += dp[j][l];
    }
    if (sum) {
      ans = (ans + sum * count(n - 1, l - 1)) % MOD;
    }
  }
  std::cout << ans << std::endl;
  return 0;
}
