#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll mod=1e9+7;
ll sum=1;
int sv[26][(int)1e6],n;
void dodaj(int z,int plc)
{
	int ged=z-plc;	
	while(z>ged)sum*=z,z--;
	z=1;
	while(z<=plc)sum/=z,z++;
	sum%=mod;	
	
}
int main()
{
	scanf("%i",&n);
	char pc;
	cin >> pc;
	sv[pc-65][0]++;
	sv[pc-65][sv[pc-65][0]]++;
	for(int i=1;i<n;i++)
	{
		char c;
		cin >> c;
		if(c!=pc)sv[c-65][0]++,pc=c;
		sv[c-65][sv[c-65][0]]++;
		
	}
	for(int i=0;i<26;i++)dodaj(sv[i][1],sv[i][1]-1);
	for(int i=0;i<26;i++)for(int j=2;j<=sv[i][0];j++)if(sv[i][j])dodaj(sv[i][j],sv[i][j]-1);
	cout << sum;
}