#include <bits/stdc++.h>

using namespace std;

int main()
{
    int n;
    cin >> n;
    string komedija;
    cin >> komedija;

    //string azbuka = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    vector<int> lolcina1(26, 0);
    vector<int> lolcina2(26, 0);

    int trenutak = 25;
    for(int i = n - 1; i >= 0; i--){
        int momenat = 1;
        if((komedija[i] - 'A') == trenutak){
            while(komedija[i-1] == komedija[i]){
                momenat++;
                i--;
            }
            lolcina1[komedija[i] - 'A'] += momenat;
            trenutak--;
        }

        else if((komedija[i] - 'A') > trenutak){
            while(komedija[i-1] == komedija[i]){
                momenat++;
                i--;
            }
            lolcina1[komedija[i] - 'A'] += momenat;
        }


    }
    if(trenutak >= 0){
        cout << 0;
    }
    else{
        int trenutak = 0;
        for(int i = 0; i < n; i++){
            int momenat = 1;
        if((komedija[i] - 'A') == trenutak){
            while(komedija[i+1] == komedija[i]){
                momenat++;
                i++;
            }
            trenutak++;
            lolcina2[komedija[i] - 'A'] += momenat;
        }

        else if((komedija[i] - 'A') < trenutak){
            while(komedija[i+1] == komedija[i]){
                momenat++;
                i++;
            }
            lolcina2[komedija[i] - 'A'] += momenat;
        }

        }
        long long rez = 1;
        for(int i = 0; i < 26; i++){
            //cout << lolcina1[i] << " " << lolcina2[i] << endl;
            rez = ((rez % 1000000007) * (min(lolcina1[i], lolcina2[i]) % 1000000007)) % 1000000007;
        }
        cout << rez;
    }
}