Subtask 0 #9 wA
#include<bits/stdc++.h>
using namespace std;
string s[100];
int n=1;
void f(int k)
{
for(int i=k;i<n;i++)
s[i]=s[i+1];
s[n]="";
}
int main()
{
while(cin>>s[n]) n++;
n--;
//cout<<n;
if(s[1]=="and"||s[1]=="or"||s[n]=="and"||s[n]=="or"||s[n]=="not")
return cout<<"error"<<endl,0;
for(int i=1;i<=n;i++)
{
for(int j=1;j<i;j++)
if(s[j]=="not")
{
i=j;
break;
}
if(s[i]=="not")
{
for(int j=i+1;j<=n;j++)
{
if(s[j]=="true")
{
s[j]="false";
s[i]="";
f(i);
break;
}
else
if(s[j]=="false")
{
s[j]="true";
s[i]="";
f(i);
break;
}
else
if(s[j]=="not")
{
s[j]=s[i]="";
f(j);
f(i);
/*for(int k=1;k<=n;k++)
cout<<s[k]<<" ";
cout<<endl;*/
break;
}
else
return cout<<"error"<<endl,0;
}
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<i;j++)
if(s[j]=="and")
{
i=j;
break;
}
if(s[i]=="and")
{
if(s[i-1]=="true")
{
if(s[i+1]=="true")
{
s[i-1]=s[i]="";
s[i+1]="true";
f(i-1);
f(i-1);
}
else
if(s[i+1]=="false")
{
s[i-1]=s[i]="";
s[i+1]="false";
f(i-1);
f(i-1);
// cout<<s[i-1]<<endl;
}
else
return cout<<"error"<<endl,0;
}
else
if(s[i-1]=="false")
{
if(s[i+1]=="true"||s[i+1]=="false")
{
s[i-1]=s[i]="";
s[i+1]="false";
f(i-1);
f(i-1);
}
else
return cout<<"error"<<endl,0;
}
else
return cout<<"error"<<endl,0;
}
}
for(int i=1;i<=n;i++)
{
for(int j=1;j<i;j++)
if(s[j]=="or")
{
i=j;
break;
}
if(s[i]=="or")
{
if(s[i-1]=="true")
{
if(s[i+1]=="true")
{
s[i-1]=s[i]="";
s[i+1]="true";
f(i-1);
f(i-1);
}
else
if(s[i+1]=="false")
{
s[i-1]=s[i]="";
s[i+1]="true";
f(i-1);
f(i-1);
}
else
return cout<<"error"<<endl,0;
}
else
if(s[i-1]=="false")
{
if(s[i+1]=="true")
{
s[i-1]=s[i]="";
s[i+1]="true";
f(i-1);
f(i-1);
}
if(s[i+1]=="false")
{
s[i-1]=s[i]="";
s[i+1]="false";
f(i-1);
f(i-1);
}
else
return cout<<"error"<<endl,0;
}
else
return cout<<"error"<<endl,0;
}
}
map<string,int> m;
for(int i=1;i<=n;i++)
m[s[i]]++;
if(m.empty())
return cout<<"error"<<endl,0;
if(m["true"]>1||m["false"]>1||(m["true"]>=1&&m["false"]>=1))
return cout<<"error"<<endl,0;
if(m["true"]==1)
cout<<"true";
else
cout<<"false";
return 0;
}