#include<fstream>
#include<string>
using namespace std;
int n, i, m, j;
string c;
int v[100];
char s[1005], lt;
ifstream fin("bool.in");
ofstream fout("bool.out");
int expresie();
int termen1();
int termen2();
int factor();
int expresie(){
int r = termen1();
while(s[i] == '|'){
i++;
r = r | termen1();
}
return r;
}
int termen1(){
int r = termen2();
while(s[i] == '&'){
i++;
r = r & termen2();
}
return r;
}
int termen2(){
int r;
if(s[i] == '!'){
i++;
r = factor();
if(r == 0){
r = 1;
}
else{
r = 0;
}
}
else{
r = factor();
}
return r;
}
int factor(){
int r;
if(s[i] == '('){
i++;
r = expresie();
i++;
}
else{
if(s[i] == '0' || s[i] == '1'){
r = s[i] - '0';
}
else{
r = v[s[i]];
}
}
return r;
}
int main(){
getline(fin, c);
m = c.length();
i = 0;
for(j = 0; j < m; j++){
if(c[j] >= 'A' && c[j] <= 'Z' && (j == m - 1 || c[j+1] == ' ' || c[j+1] == ')')){
s[++i] = c[j];
}
else{
if(c[j] == '(' || c[j] == ')'){
s[++i] = c[j];
}
else{
if(c[j] == 'F'){
s[++i] = '0';
}
else{
if(c[j] == 'T'){
s[++i] = '1';
}
else{
if(c[j] == 'N'){
if(s[i] != '!'){
s[++i] = '!';
}
else{
i--;
}
}
else{
if(c[j] == 'A'){
s[++i] = '&';
}
else{
s[++i] = '|';
}
}
}
}
}
}
}
fin>> n;
for(j = 1; j <= n; j++){
fin>> lt;
if(v[lt] == 0){
v[lt] = 1;
}
else{
v[lt] = 0;
}
i = 1;
fout<< expresie();
}
return 0;
}