#include <stdio.h>
#include <string.h>

char s[101];
int len, memo[101][35];

int ok(int L, int R){
	int B=0,F=0,S=0,i;
	for (i=L; i<=R; i++){
		switch (s[i]){
			case 'B' : B++; break;
			case 'F' : F++; break;
			case 'S' : S++; break;
		}
	}
	return B==F && F==S && B>0;
}

int rec(int idx, int n){
	int ret=0, i;

	if (idx>=len) return 0;
	if (n==1) return ok(idx,len-1);
	if (memo[idx][n]!=-1) return memo[idx][n];

	for (i=idx+2; i<len; i++)
		if (ok(idx,i))
			ret += rec(i+1,n-1);

	return memo[idx][n] = ret;
}

int main(){
	int n;

	while (scanf("%d %s",&n,s)!=EOF){
		len = strlen(s);
		memset(memo,-1,sizeof(memo));

		if (rec(0,n)==0)
			puts("Impossible");
		else
			printf("%d\n",rec(0,n));
	}
}
