#include <bits/stdc++.h>
char s[101000];
int z[210];
int main(void) {
  int n, i, j;
  int max, nmax;
  long long ans;
  long long mod = 1000000007;
  while (scanf("%d", &n) != EOF) {
    gets(s);
    for (j = 'A'; j <= 'Z'; j++) {
      z[j] = 0;
    }
    gets(s);
    for (i = 0; s[i]; i++) {
      z[s[i]]++;
    }
    max = 0;
    for (j = 'A'; j <= 'Z'; j++) {
      if (z[j] > max) {
        max = z[j];
        nmax = 1;
      } else if (z[j] == max) {
        nmax++;
      }
    }
    ans = 1;
    for (j = 1; j <= n; j++) {
      ans = (ans * nmax) % mod;
    }
    printf("%I64d\n", ans);
  }
  return 0;
}
