#include<iostream>
#include<string>
#include<cmath>
#include<bits/stdc++.h>
using namespace std;
void sortiraj(string &rec)
{
   sort(rec.begin(), rec.end());
  // cout << rec <<endl;
}
void provera(string rec, string recORG, int ponavljanja[])
{
    int broj = 0;
    for(int i=0;i<rec.size();i++)
        if(rec[i]!=recORG[i])
        {
            if(ponavljanja[rec[i]-'0'-17]!=0)
                ponavljanja[rec[i]-'0'-17]--;
        }

}
void brojanje(string rec, int ponavljanja[])
{
    int j=0, brojac=0;
    for(int i=1;i<rec.size();i++)
    {

        if(rec[i+1]==rec[i])
        {
            brojac++;
        }

        else if(rec[i+1]!=rec[i])
        {
            ponavljanja[j]=brojac;
            j++;
            brojac=0;
        }
       // cout << "poredim " << rec[i+1] << " i " << rec[i] << " brojac: " << brojac << endl;
    }

}
int main()
{
    string rec, recORG;
    char slovo;
    int n;
    long long resenja = 1;
    cin >> n;
    int ponavljanja[27];
    for(int i=0;i<27;i++)
        ponavljanja[i]=0;
    for(int i=0;i<=n;i++)
    {
        cin.get(slovo);
        rec.push_back(slovo);
    }
    recORG = rec;
    sortiraj(rec);
    brojanje(rec,ponavljanja);
    for(int i=0;i<27;i++)
        if(ponavljanja[i]!=0)
            ponavljanja[i]++;
   /* for(int i=0;i<26;i++)
        cout << ponavljanja[i] << " ";*/
    /*cout << recORG << endl;*/
    provera(rec, recORG, ponavljanja);
   /* for(int i=0;i<26;i++)
        cout << ponavljanja[i] << " ";*/
    for(int i=0;i<26;i++)
    resenja*=(ponavljanja[i]>0)? ponavljanja[i]:1;
    cout << resenja%1000000007;
    return 0;
}