#include <fstream>
#include <cstring>
using namespace std;
ifstream f("bool.in");
ofstream g("bool.out");
char Str[1005],Str2[1005];
bool Result[30];
int evaluateExpresion();
int evaluateNumber();
int evaluateMultiplication();
int ind,len;
int evaluateNumber()
{
int result=0;
if(Str[ind]=='(')
{
++ind;
result=evaluateExpresion();
++ind;
}
else
{
if(Str[ind]=='T' && Str[ind+1]=='R' && Str[ind+2]=='U' && Str[ind+3]=='E')
{
ind+=4;
return 1;
}
if(Str[ind]=='F' && Str[ind+1]=='A' && Str[ind+2]=='L' && Str[ind+3]=='S' && Str[ind+4]=='E')
{
ind+=5;
return 0;
}
if(Str[ind]=='N' && Str[ind+1]=='O' && Str[ind+2]=='T')
{
result=1-Result[Str[ind+1]-'A'];
ind+=4;
}
else
{
result=Result[Str[ind]-'A'];
++ind;
}
}
return result;
}
int evaluateMultiplication()
{
int result=evaluateNumber();
while(Str[ind]=='A' && Str[ind+1]=='N' && Str[ind+2]=='D')
{
ind+=3;
result=result && evaluateNumber();
}
return result;
}
int evaluateExpresion()
{
int result=evaluateMultiplication();
while(Str[ind]=='O' || Str[ind+1]=='R')
{
ind+=2;
result = result || evaluateMultiplication();
}
return result;
}
int main()
{
f.getline(Str2,1005);
len=strlen(Str2);
for(int i=0;i<len;i++)
{
if(Str2[i]==' ')
continue;
Str[ind++]=Str2[i];
}
ind=0;
int N;
f>>N;
char ch;
f.get(ch);
for(int i=1;i<=N;i++)
{
f.get(ch);
ind=0;
Result[ch-'A']=1-Result[ch-'A'];
g<<evaluateExpresion();
}
return 0;
}