#include <iostream>
#include <sstream>
#include <cstring>
#define MAXNODE 1001
usingnamespacestd;intN,A,L,R;boolsol;stringB;stringinput;intbuf[MAXNODE*2][3];boolisoperator(stringc){return!(c[0]<='9'&&c[0]>='0');}int_atoi(stringstr){if(isoperator(str)){if(str[0]=='+')return-1;elseif(str[0]=='-')return-2;elseif(str[0]=='*')return-3;elsereturn-4;}else{returnstoi(str);}}voidpreorder(intnode){// leaf인데 숫자가 아닐 경우// 연속해서 숫자가 나올 경우if(!sol)return;if(buf[node][0]==0){sol=false;return;}if(buf[node][0]<0&&buf[node][1]==0&&buf[node][2]==0){// leaf인데 숫자가 아닐 경우 // leaf는 왼쪽 오른쪽 자식이 없음sol=false;return;}if(buf[node][0]>0&&(buf[node][1]!=0&&buf[node][2]!=0)&&(buf[buf[node][1]]>0||buf[buf[node][2]]>0)){sol=false;return;}if(buf[node][1]!=0)preorder(buf[node][1]);if(buf[node][2]!=0)preorder(buf[node][2]);}intmain(){for(inti=1;i<=10;++i){cin>>N;sol=true;for(inti=0;i<MAXNODE*2;i++)buf[i][0]=buf[i][1]=buf[i][2]=0;if(N%2==0)sol=false;intbef=0;getline(cin,input);for(inti=1;i<=N;i++){L=R=0;getline(cin,input);stringstreamss(input);ss>>A>>B>>L>>R;if(!isoperator(B)&&L!=0&&R!=0)sol=false;buf[A][0]=_atoi(B);if(isoperator(B)){buf[A][1]=L;buf[A][2]=R;}}preorder(1);cout<<"#"<<i<<" "<<sol<<"\n";}}