#include <bits/stdc++.h>
long long fact[100005], fact1[100005];
long long po(long long i, long long j) {
  if (j == 0) return 1;
  long long k = po(i, j / 2);
  k = k * k % 1000000007;
  if (j % 2) k = k * i % 1000000007;
  return k;
}
long long a[4];
using namespace std;
int main() {
  long long i, j, k, l;
  fact[0] = fact1[0] = 1;
  for (i = 1; i < 100005; i++) {
    fact[i] = fact[i - 1] * i % 1000000007;
    fact1[i] = po(i, 1000000007 - 2);
  }
  long long n;
  cin >> n;
  for (i = 0; i < n; i++) {
    char ch;
    cin >> ch;
    if (ch == 'A') a[0]++;
    if (ch == 'C') a[1]++;
    if (ch == 'T') a[2]++;
    if (ch == 'G') a[3]++;
  }
  sort(a, a + 4);
  long long maxi = a[0];
  for (i = 0; i < 4; i++) maxi = max(maxi, a[i]);
  long long c = 0;
  for (i = 0; i < 4; i++)
    if (a[i] == maxi) c++;
  cout << po(c, n);
}
