#include<stdio.h>
#include<algorithm>
#include<string.h>
using namespace std;
char str[100];
int v[3];
int eq(int a,int b);
int ter(int a,int b){
	if(str[a]=='(')return eq(a+1,b-1);
	if(str[a]=='-')return 2-ter(a+1,b);
	if(str[a]>'A')return v[str[a]-'P'];
	return str[a]-'0';
}
int fac(int a,int b){
	int now=0;
	int ret=2;
	int las=a;
	for(int i=a;i<b;i++){
		if(str[i]=='(')now++;
		if(str[i]==')')now--;
		if(now==0&&str[i]=='*'){
			ret=min(ret,ter(las,i));
			las=i+1;
		}
	}
	return min(ret,ter(las,b));
}
int eq(int a,int b){
	int now=0;
	int ret=0;
	int las=a;
	for(int i=a;i<b;i++){
		if(str[i]=='(')now++;
		if(str[i]==')')now--;
		if(now==0&&str[i]=='+'){
			ret=max(ret,fac(las,i));
			las=i+1;
		}
	}
	return max(ret,fac(las,b));
}
int main(){
	while(1){
		scanf("%s",str);
		if(str[0]=='.')return 0;
		int n=strlen(str);
		int ret=0;
		for(int i=0;i<3;i++)
			for(int j=0;j<3;j++)
				for(int k=0;k<3;k++){
					v[0]=i;
					v[1]=j;
					v[2]=k;
					ret+=eq(0,n)/2;
				}
		printf("%d\n",ret);
	}
}