#include <fstream>
#include <cstring>
#include <algorithm>
using namespace std;
ifstream fin("bool.in");
ofstream fout("bool.out");
int n,i;
char c[1004],c1[1004],cc;
int v[1004],s,k,m;
int expor();
int expand();
int expnot();
int exp();
int expor()
{
int r=expand();
while(c[i]=='|')
{
i++;
r=(r | expand());
}
return r;
}
int expand()
{
int r=expnot();
while(c[i]=='&')
{
i++;
r=(r & expand());
}
return r;
}
int expnot()
{
int r=exp();
while(c[i]=='^')
{
i++;
r=(r ^ expand());
}
return r;
}
int exp()
{
int r;
if(c[i]=='(')
{
i++;
r=expor();
i++;
}
else
{
if(c[i]==0)
{
i++;
return 0;
}
if(c[i]==1)
{
i++;
return 1;
}
return v[c[i++]];
}
}
int main()
{
fin.get(c,1000);
n=strlen(c1);
for(int i=0;i<n;i++)
{
if (c1[i]!=' ')
continue;
if (c1[i]=='A' && c1[i+1]=='N')
{
c[k]='&';
i+=2;
k++;
continue;
}
if (c1[i]=='N' && c1[i+1]=='O')
{
c[k]='1';
k++;
c[k]='^';
i+=2;
k++;
continue;
}
if (c1[i]=='O' && c1[i+1]=='R')
{
c[k]='|';
i++;
k++;
continue;
}
if (c1[i]=='T' && c1[i+1]=='R')
{
c[k]='1';
i+=3;
k++;
continue;
}
if (c1[i]=='F' && c1[i+1]=='A')
{
c[k]='0';
i+=4;
k++;
continue;
}
}
fin>>m;
for(int j=1;j<=m;j++)
{
fin>>cc;
v[cc]=1-v[cc];
i=0;
fout<<expor();
}
return 0;
}