#include<iostream>
#include<algorithm>
#include<vector>
#include <string>
#define cinf(n,x,y) for(int i=0;i<(n);i++) cin >> x[i] >> y[i];
typedef long long int ll;
using namespace std;
int eval(string s,int&pos){
	if(s[pos]=='0'){
		++pos; return 0;
	}
	if(s[pos]=='1'){
		++pos; return 1;
	}
	if(s[pos]=='2'){
		++pos; return 2;
	}
	if(s[pos]=='-'){
		++pos; return 2- eval(s,pos);
	}
	if(s[pos]=='('){
		++pos;
		int a=eval(s,pos);
		char c =s[pos++];
		int b= eval(s,pos);
		pos++;
		if(c =='*'){
			return min(a,b);
		}
		if(c =='+'){
			return max(a,b);
		}
	}
}

int solve(const string&str){
	int cnt=0;
	for(int p=0;p<=2;p++){
		for(int q=0;q<=2;q++){
			for(int r=0;r<=2;r++){
				string s=str;
				for(int i=0;i<s.size();i++){
					if(s[i]=='P'){
						s[i]=p+'0';
					}
					if(s[i]=='Q'){
						s[i]=q+'0';
					}
					if(s[i]=='R'){
						s[i]=r+'0';
					}
				}
				int t=0;
				if(eval(s,t)==2){
					cnt++;
				}
			}
		}
	}
	return cnt;
}
int main(){
 	string str;
 	while(1){
 		cin >>str;
 		if(str==".")break;
 		cout << solve(str) << endl;
 	}
}
