#include <bits/stdc++.h>
#define MOD 1000000007
#define MAX 1000005

using namespace std;
int N,n=1;long long r=1;
string A;
struct st{
    long long poj=0;
    char ch;
};

void solve(int poc,int koef,st st [],long long z){
    if(koef==26){if(r>=MOD)r%=MOD; if(z>=MOD)z%=MOD; r*=z;}
    else for(int i=poc;i<n&&st[i].poj>0;i++){
        if(st[i].ch=='A'+koef){solve(i,koef+1,st,z*st[i].poj);}
    }
}


int main()
{
    ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    cin>>N>>A;
    const int m=N;
    st st[m];

    st[0].ch=A[0];st[0].poj++;
    for(int i=1;i<N;i++){
        if(A[i-1]==A[i])st[n-1].poj++;
        else{st[n].ch=A[i];st[n].poj++;n++;}
    }
    solve(0,0,st,1);
    if(r==1)cout<<0;
    else cout<<r;
}