#include <bits/stdc++.h>
using namespace std;
const int INF = (int)2e9;
const long long INFL = (long long)9e18;
const int MAXINT = ((~0) ^ (1 << 31));
const long long MAXLL = ((~0) ^ ((long long)1 << 63));
template <class T>
inline T pow2(T a) {
  return a * a;
}
template <class T>
inline bool mineq(T& a, T b) {
  return (a > b) ? (a = b, true) : false;
}
template <class T>
inline bool maxeq(T& a, T b) {
  return (a < b) ? (a = b, true) : false;
}
const int maxn = (int)1e5 + 10;
;
const int MOD = (int)1e9 + 7;
;
long long powmod(long long a, long long b) {
  if (!b) return 1;
  long long t = powmod(a, b / 2);
  t = (t * t) % MOD;
  if (b & 1) t = (t * a) % MOD;
  return t;
}
int cnt[30], n;
string str;
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cin >> n >> str;
  for (int i = 0; i < (int)(n); i++) cnt[str[i] - 'A']++;
  int maxi = -1, count = 0;
  for (int i = 0; i < (int)(26); i++) {
    if (maxi == cnt[i])
      count++;
    else if (maxi < cnt[i]) {
      maxi = cnt[i];
      count = 1;
    }
  }
  cout << powmod(count, n);
}
