#include<iostream>
#include<stack>
using namespace std;
string s;
int n,x[100001],q,p;
int main(){
getline(cin,s);
cin >> n;
for(int i = 1;i <= n;++i) cin >> x[i];
cin >> p;
while(p--){
cin >> q;
x[q] = 1 - x[q];
stack<int> st;
for(int i = 0;i < s.length();++i){
if(s[i] >= '0' && s[i] <= '9'){
int sum = 0,num = i;
while(s[num] >= '0' && s[num] <= '9'){
sum = sum * 10 + s[num] - 48;
num++;
}
st.push(x[sum]);
}else if(s[i] == '!'){
int a = st.top();
st.pop();
st.push(1 - a);
}else if(s[i] == '&'){
int a = st.top();
st.pop();
int b = st.top();
st.pop();
st.push(a & b);
}else if(s[i] == '|'){
int a = st.top();
st.pop();
int b = st.top();
st.pop();
st.push(a | b);
}
}
cout << st.top() << endl;
x[q] = 1 - x[q];
}
return 0;
}