#include<stdio.h>
#define MAXN 100010
int par[MAXN];
int mark[MAXN];
void init(int N){
	int i;
	par[1]=1;
	for(i=2;i<=N;i++){
		scanf("%d",&par[i]);
		mark[i]=0;
	}
	mark[1]=1;
}
int query(int i){
	while(par[i]!=i){
		if(mark[i])
			break;
		i=par[i];
	}
	if(mark[i])
		return i;
	else
		return 0;
}
int main(){
	int N,Q;
	char x;
	int y;
	int sum;
	while(~scanf("%d%d",&N,&Q)){
		if(N==0&&Q==0){
			break;
		}
		init(N);
		sum=0;
		while(Q--){
			scanf("\n%c%d",&x,&y);
			if(x=='M'){
				mark[y]=1;	
			}
			else if(x=='Q'){
				sum+=query(y);
			}
		}
		printf("%d\n",sum);
	}
	return 0;
}