#include<cstdio>
const int MAXN = 100000;
const int MOD = 998244353;
char s[3*MAXN + 5];
int fct[3*MAXN + 5], n;
void init() {
	fct[0] = 1;
	for(int i=1;i<=MAXN;i++)
		fct[i] = 1LL*fct[i-1]*i%MOD;
}
int f[5], g[5];
int func(char ch) {
	if( ch == 'R' ) return 0;
	if( ch == 'G' ) return 1;
	if( ch == 'B' ) return 2;
}
int main() {
	init(); scanf("%d", &n);
	scanf("%s", s + 1);
	int ans = fct[n];
	for(int i=1;i<=3*n;i++) {
		int x = func(s[i]);
		if( f[x] )
			ans = 1LL*ans*f[x]%MOD, f[x]--;
		else if( g[(x+2)%3] )
			ans = 1LL*ans*g[(x+2)%3]%MOD, g[(x+2)%3]--, f[(x+1)%3]++;
		else if( g[(x+1)%3] )
			ans = 1LL*ans*g[(x+1)%3]%MOD, g[(x+1)%3]--, f[(x+2)%3]++;
		else g[x]++;
	}
	printf("%d\n", ans);
}