#include <iostream>

using namespace std;

bool praviRedosled(string s, int prvaV){
    char proslo = s[prvaV];
    for(int i = prvaV; i < s.length(); i++){
        if(s[i] == proslo) continue;
        if(s[i] == proslo + 1) proslo = s[i];
        else return 0;
    }
    if(proslo == 'Z') return 1;
    else return 0;
}

unsigned long long kombinujPoRedu(string s){
    int nizSlova[26] = {};
    for(int i = 0; i < s.length(); i++) nizSlova[s[i]-'A']++;
    unsigned long long zbir = 1;
    for(int i = 0; i < 26; i++) zbir *= nizSlova[i];
    return zbir;
}

string izbaciNemoguci(string s){
    char proslo = s[0];
    char* str;
    for(int i = 1; i < s.length(); i++){
        if(s[i] == proslo) continue;
        if(s[i] == proslo + 1) proslo = s[i];
        else if(praviRedosled(s,i + 1)){
            str = (char*)malloc(sizeof(char)*(s.length()-1));
            int m = 0;
            for(int j = 0; j < s.length(); j++){
                if (j != i) *(str+ m++) = s[j];
            }
            str[m] = 0;
        }
    }
    string b(str);
    return b;
}

int main()
{
    int N;
    string s;
    cin >> N >> s;
    if(N < 26) cout << 0;
    else if ( N == 26 && praviRedosled(s, 0)) cout << 1;
    else if(praviRedosled(s, 0)) cout << kombinujPoRedu(s) % 1000000007;
    else cout << kombinujPoRedu(izbaciNemoguci(s)) % 1000000007;
    return 0;
}