#include<fstream>
using namespace std;
ofstream fout("bool.out");
ifstream fin("bool.in");
const int MMAX = 1005;
const int NMAX = 105;
int n, val[28];
char exp[MMAX], yolo[NMAX], *p = exp;
int sau();
void sterge() { if( *p == ' ') p++; }
int eval()
{
sterge();
int sol = 0;
if(*p == 'N' && *(p+1) == 'O') {
p += 3;
sol = 1 - eval();
}
else if(*p == '(') {
p++;
sol = sau();
p++;
}
else if(*p == 'T' && *(p+1) == 'R') {
sol = 1;
p += 4;
}
else if(*p == 'F' && *(p+1) == 'A') {
sol = 0;
p += 5;
}
else {
sol = val[*p - 'A' + 1];
p++;
}
sterge();
return sol;
}
int si()
{
sterge();
int sol = eval();
if(*p == 'A' && *(p+1) == 'N') {
p += 3;
sol = ( sol && eval() );
}
sterge();
return sol;
}
int sau()
{
sterge();
int sol = si();
if(*p == 'O' && *(p+1) == 'R') {
p += 2;
sol = ( sol || si() );
}
sterge();
return sol;
}
int main()
{
int x;
fin.getline(exp, MMAX);
fin >> n;
for(int i=1; i<=n; i++) {
fin >> yolo[i];
val[yolo[i] - 'A' + 1] = 1 - val[yolo[i] - 'A' + 1];
fout << sau();
p = exp;
}
fin.close();
fout.close();
return 0;
}