#include<iostream>
#include<string>
using namespace std;
string pre,s;
int now;
int func(){
	if(s[now]=='0'){
		now++;
		return 0;
	}else if(s[now]=='1'){
		now++;
		return 1;

	}else if(s[now]=='2'){
		now++;
		return 2;
	}else if(s[now]=='-'){
		now++;
		return 2-func();
	}else if(s[now]=='('){
		now++;
		int a=func();
		if(s[now]=='+'){
			now++;
			int b=func();
			now++;
			return max(a,b);
		}else if(s[now]=='*'){
			now++;
			int b=func();
			now++;
			return (a*b+1)/2;
		}
	}
}
int main(){
	while(cin>>pre,pre!="."){
		int ans=0;
		for(int x=0;x<=2;x++)
		for(int y=0;y<=2;y++)
		for(int z=0;z<=2;z++){
			s=pre;
			now=0;
			for(int i=0;i<(int)s.size();i++){
				if(s[i]=='P')
					s[i]='0'+x;
				else if(s[i]=='Q')
					s[i]='0'+y;
				else if(s[i]=='R')
					s[i]='0'+z;
			}
			if(func()==2)
				ans++;
		}
		cout<<ans<<endl;
	}
	return 0;
}