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 int N = 200000;
int n;
string s;
int dp[5050][5050];
int b[5050][5050];
int ans;
int mod = 1e9 + 7;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cin >> n;
  cin >> s;
  for (int i = 1; i <= n; i++) {
    int j = s[i - 1] - 'a';
    for (int l = 0; l < i; l++) {
      dp[l + 1][j] = 0;
      for (int t = 0; t <= 26; t++) {
        if (t == j) continue;
        dp[l + 1][j] = (dp[l + 1][j] + dp[l][t]);
        if (dp[l + 1][j] >= mod) dp[l + 1][j] -= mod;
      }
      if (l == 0) {
        dp[l + 1][j]++;
        if (dp[l + 1][j] >= mod) dp[l + 1][j] -= mod;
      }
    }
  }
  for (int i = 0; i <= n; i++) b[i][0] = 1;
  for (int i = 1; i <= n; i++) {
    for (int j = 1; j <= i; j++) {
      b[i][j] = (b[i - 1][j - 1] + b[i - 1][j]) % mod;
    }
  }
  for (int i = 1; i <= n; i++) {
    int x = 0;
    for (int j = 0; j < 26; j++) x = (x + dp[i][j]) % mod;
    ans = (ans + (long long)x * b[n - 1][i - 1]) % mod;
  }
  cout << ans;
}
