#include <iostream>
#include <fstream>
#include <string>
using namespace std;
bool litere[30];
string s;
bool rezolva(int c)
{
static int i;
int fosttermen=-1, curenttermen=0;
int negari = 0;
int armura = 0;
for (i = c; i < s.length(); i++)
{
if (s[i] == '(')
{
if (armura==0&&curenttermen==0)
{
if (negari % 2 == 0)
{
curenttermen = rezolva(i + 1);
}
else
{
curenttermen = !rezolva(i + 1);
}
negari = 0;
}
else{ rezolva(i + 1); }
}
if (s[i] == 'T'&&s[i + 1] == 'R'){
i += 3;
if (armura == 0)
{
if (negari % 2 == 0)
{
curenttermen = 1;
}
else
{
curenttermen = 0;
}
negari = 0;
}
}
if (s[i] == 'F'&&s[i + 1] == 'A'){
i += 4;
if (armura == 0)
{
if (negari % 2 == 0)
{
curenttermen = 0;
}
else
{
curenttermen = 1;
}
negari = 0;
}
}
if (s[i] == 'N'&&s[i + 1] == 'O'){ i += 2; negari++; }
if (s[i] == 'A'&&s[i + 1] == 'N')
{
if (armura == 1){ curenttermen = 1; armura = 0; }
if (fosttermen >= 0)
{
if (fosttermen != curenttermen){ return 0; }
}
if (fosttermen == -1){ fosttermen = curenttermen; }
i += 2;
}
if (s[i] == 'O'&&s[i + 1] == 'R')
{
i += 1;
negari = 0;
if (curenttermen == 1){ armura = 1; }
}
if (s[i] >= 'A'&&s[i] <= 'Z' && (s[i + 1] == ' ' || s[i + 1] == ')'))
{
if (curenttermen == 0&&armura==0)
{
if (negari % 2 == 0)
{
curenttermen = litere[s[i] - 64];
}
else { curenttermen = !litere[s[i] - 64]; }
negari = 0;
}
if (armura == 1){ curenttermen = 1; }
}
if (s[i] == ')'){ if (armura == 1){ curenttermen = 1; } i++; break; }
}
if (fosttermen == -1)
{
if (curenttermen == 1){ return true; }
else { return false; }
}
if (fosttermen >= 0)
{
if (curenttermen==fosttermen){ return true; }
else { return false; }
}
}
int main()
{
ifstream in("bool.in");
ofstream out("bool.out");
int i, n;
char c;
getline(in, s);
in >> n;
for (i = 1; i <= n; i++)
{
in >> c;
litere[c - 64] = !litere[c - 64];
out << rezolva(0);
}
}