#include <iostream>
#include <bits/stdc++.h>

using namespace std;

int main()
{
    int N;
    string natpis;
    cin >> N;
    cin >> natpis;
    char maxDoSad = 'A';
    int niz[26];
    memset(niz,0,26);
    for(int i=0; i<N; i++)
    {
        if(maxDoSad=='A')
        {
            if(natpis[i]=='A')
                niz[0]++;
            else
                maxDoSad=natpis[i];
        }
        else if(maxDoSad=='B')
        {
            if(natpis[i]=='B')
                niz[1]++;
            else
                maxDoSad=natpis[i];
        }
        else if(maxDoSad=='C')
        {
            if(natpis[i]=='C')
                niz[2]++;
            else
                maxDoSad=natpis[i];
        }
        else if(maxDoSad=='D')
        {
            if(natpis[i]=='D')
                niz[3]++;
            else
                maxDoSad=natpis[i];
        }
        else if(maxDoSad=='E')
        {
            if(natpis[i]=='E')
                niz[4]++;
            else
                maxDoSad=natpis[i];
        }
        else if(maxDoSad=='F')
        {
            if(natpis[i]=='F')
                niz[5]++;
            else
                maxDoSad=natpis[i];
        }
        else if(maxDoSad=='G')
        {
            if(natpis[i]=='G')
                niz[6]++;
            else
                maxDoSad=natpis[i];
        }
        else if(maxDoSad=='H')
        {
            if(natpis[i]=='H')
                niz[7]++;
            else
                maxDoSad=natpis[i];
        }
        else if(maxDoSad=='I')
        {
            if(natpis[i]=='I')
                niz[8]++;
            else
                maxDoSad=natpis[i];
        }
        else if(maxDoSad=='J')
        {
            if(natpis[i]=='J')
                niz[9]++;
            else
                maxDoSad=natpis[i];
        }
        else if(maxDoSad=='K')
        {
            if(natpis[i]=='K')
                niz[10]++;
            else
                maxDoSad=natpis[i];
        }
        else if(maxDoSad=='L')
        {
            if(natpis[i]=='L')
                niz[11]++;
            else
                maxDoSad=natpis[i];
        }
        else if(maxDoSad=='M')
        {
            if(natpis[i]=='M')
                niz[12]++;
            else
                maxDoSad=natpis[i];
        }
        else if(maxDoSad=='N')
        {
            if(natpis[i]=='N')
                niz[13]++;
            else
                maxDoSad=natpis[i];
        }
        else if(maxDoSad=='O')
        {
            if(natpis[i]=='O')
                niz[14]++;
            else
                maxDoSad=natpis[i];
        }
        else if(maxDoSad=='P')
        {
            if(natpis[i]=='P')
                niz[15]++;
            else
                maxDoSad=natpis[i];
        }
        else if(maxDoSad=='Q')
        {
            if(natpis[i]=='Q')
                niz[16]++;
            else
                maxDoSad=natpis[i];
        }
        else if(maxDoSad=='R')
        {
            if(natpis[i]=='R')
                niz[17]++;
            else
                maxDoSad=natpis[i];
        }
        else if(maxDoSad=='S')
        {
            if(natpis[i]=='S')
                niz[18]++;
            else
                maxDoSad=natpis[i];
        }
        else if(maxDoSad=='T')
        {
            if(natpis[i]=='T')
                niz[19]++;
            else
                maxDoSad=natpis[i];
        }
        else if(maxDoSad=='U')
        {
            if(natpis[i]=='U')
                niz[20]++;
            else
                maxDoSad=natpis[i];
        }
        else if(maxDoSad=='V')
        {
            if(natpis[i]=='V')
                niz[21]++;
            else
                maxDoSad=natpis[i];
        }
        else if(maxDoSad=='W')
        {
            if(natpis[i]=='W')
                niz[22]++;
            else
                maxDoSad=natpis[i];
        }
        else if(maxDoSad=='X')
        {
            if(natpis[i]=='X')
                niz[23]++;
            else
                maxDoSad=natpis[i];
        }
        else if(maxDoSad=='Y')
        {
            if(natpis[i]=='Y')
                niz[24]++;
            else
                maxDoSad=natpis[i];
        }
        else if(maxDoSad=='Z')
        {
            if(natpis[i]=='Z')
                niz[25]++;
        }
    }
    int resenje=1;
    for(int i=0; i<26;i++)
        resenje = ((resenje % (1e9+7))*(niz[i] % (1e9+7)))%(1e9+7);
    cout << resenje;
    return 0;
}