#include #include // https://qandori.github.io/cp-library/ using namespace std; using namespace atcoder; #define rep(i, l, r) for (ll i = (l); i < (r); ++i) #define all(x) (x).begin(), (x).end() #define sz(x) (int)(x).size() using ll = long long; using ull = unsigned long long; using ld = long double; using pl = pair; using vi = vector; using vl = vector; using vvl = vector>; using vvvl = vector>>; template using pq_ = priority_queue, greater>; #define sz(x) (int)(x).size() typedef pair pii; // g++ a.cpp -std=c++23 -I. // g++ -std=c++23 -I. a.cpp -o main // g++ -std=c++23 -I. anaive.cpp -o naive // g++ -std=c++23 -I. agene.cpp -o gene using mint = modint998244353; int main(){ ios::sync_with_stdio(false); std::cin.tie(nullptr); ll trc=2100000; vector bik(trc+1); vector gbik(trc+1); bik[0]=1; rep(i,0,trc){ bik[i+1]=bik[i]*(i+1); } gbik[trc]=1/bik[trc]; rep(i,0,trc){ gbik[trc-i-1]=gbik[trc-i]*(trc-i); } ll n; cin>>n; string s; cin>>s; ll e=0; ll f=0; rep(i,0,n){ if(s[i]=='A'||s[i]=='B')e++; else f++; } cout<<(bik[n]*gbik[e]*gbik[f]).val()<