#include <cstdio>
#include <cassert>
#include <cstring>
#include <algorithm>
#define meow(args...) fprintf(stderr, args)
const int N=3e5+5, P=998244353;
char s[N];
int n, r, g, b, rg, rb, gb;
int main() {
	long long ans=1;
	assert(scanf("%d%s", &n, s)==2);
	for(int i=1; i<=n; ++i) ans=ans*i%P;
	for(int i=0; i<3*n; ++i, ans%=P)
		switch(s[i]) {
			case 'R':
				if(gb) ans*=gb--;
				else if(g) ans*=g--, ++rg;
				else if(b) ans*=b--, ++rb;
				else ++r;
				break;
			case 'G':
				if(rb) ans*=rb--;
				else if(r) ans*=r--, ++rg;
				else if(b) ans*=b--, ++gb;
				else ++g;
				break;
			case 'B':
				if(rg) ans*=rg--;
				else if(g) ans*=g--, ++gb;
				else if(r) ans*=r--, ++rb;
				else ++b;
				break;
		}
	printf("%lld\n", ans);
	return 0;
}
