只得了5分
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=100010;
string s;
int n,a[N],ans[N],m,q;
stack<int> b;
int main(){
getline(cin,s);
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i];
int sum=0;
for(int i=0;i<s.size();i++){
if(s[i]=='x')continue;
if('0'<=s[i]&&s[i]<='9'){
sum*=10;
sum+=s[i]-'0';
}
else if(s[i]==' '){
if(sum!=0){
b.push(a[sum]);
sum=0;
f=true;
}
}
else if(s[i]=='!'){
int A=b.top();
b.pop();
A=!A;
ans[++m]=A;
b.push(A);
}
else if(s[i]=='|'){
int A=b.top();
b.pop();
int B=b.top();
b.pop();
A=A|B;
ans[++m]=A;
b.push(A);
}
else if(s[i]=='&'){
int A=b.top();
b.pop();
int B=b.top();
b.pop();
A=A&B;
ans[++m]=A;
b.push(A);
}
}
cin>>q;
for(int i=1,x;i<=q;i++){
cin>>x;
cout<<!ans[x]<<'\n';
}
return 0;
}