#include <bits/stdc++.h>
using namespace std;

#define rep(i,n) for(int i=0; i<n; i++)
typedef long long ll;
typedef pair<int,int> pii;
typedef vector< vector<int> > vvi;

string inv(string s) {
	if(s=="2") return "0";
	if(s=="1") return "1";
	if(s=="0") return "2";
}

string mult(string a, string b) {
	if(a[0] < b[0]) {
		return a;
	} else {
		return b;
	}
}

string add(string a, string b) {
	if(a[0] < b[0]) {
		return b;
	} else {
		return a;
	}
}

string form(string s) {
	if(s.length()==1) {
		return s;
	}
	if(s[0]=='-') {
		return inv( form(s.substr(1)) );
	}
	if(s[0]=='(') {
		int enc = 0;
		for(int i=1; i<s.length(); i++) {
			if(s[i] == '(') {
				enc++;
			}
			else if(s[i] == ')') {
				enc--;
			}
			else if(enc==0 && s[i] == '*') {
				string a = form( s.substr(1,i-1) );
				string b = form( s.substr(i+1, s.length()-1-i-1) );
				return mult(a, b);
			}
			else if(enc==0 && s[i] == '+') {
				string a = form( s.substr(1,i-1) );
				string b = form( s.substr(i+1, s.length()-1-i-1) );
				return add(a, b);
			}
		}
	}
}

int main() {
	string in;
	while(cin >> in, in!=".") {
		int cnt = 0;
		rep(p,3) rep(q,3) rep(r,3) {
			string s = in;
			rep(i,s.length()) {
				if(s[i] == 'P') {
					s[i] = p+'0';
				}
				if(s[i] == 'Q') {
					s[i] = q+'0';
				}
				if(s[i] == 'R') {
					s[i] = r+'0';
				}
			}
			string ss = form(s);
			if( ss == "2" ) {
				cnt++;
			}
		}
		cout << cnt << endl;
	}
	return 0;
}