#include <bits/stdc++.h>
using namespace std;
int mx, n, h[4];
char s[100010];
long long powr(long long s, long long p) {
  if (p == 0) return 1;
  if (p % 2 == 1) {
    long long q = powr(s, p / 2);
    long long a = q;
    q = (a * a);
    if (q >= 1000000007) q %= 1000000007;
    q = (q * s);
    if (q >= 1000000007) q %= 1000000007;
    return (q);
  } else {
    long long q = powr(s, p / 2);
    long long a = q;
    q = (a * a);
    if (q >= 1000000007) q %= 1000000007;
    return (q);
  }
}
void scan() {
  int pw = 0;
  cin >> n >> s;
  for (int i = 0; i < n; i++) {
    if (s[i] == 'A')
      ++h[0];
    else if (s[i] == 'G')
      ++h[1];
    else if (s[i] == 'T')
      ++h[2];
    else
      ++h[3];
  }
  for (int i = 0; i < 4; i++) {
    mx = max(mx, h[i]);
  }
  for (int i = 0; i < 4; i++) {
    if (mx == h[i]) ++pw;
  }
  cout << powr(pw, n) << '\n';
}
void out() {}
int main() {
  scan();
  out();
  return 0;
}
