int work(int id,int x)
{
int res;
if(comp[x][0]=='N'&&comp[x][1]=='O')res=!get(id,input[x][1]);
else if(comp[x][0]=='A')
{
res=1;
for(int i=1;i<=len[x];i++)
{
res&=get(id,input[x][i]);
}
}
else if(comp[x][0]=='O')
{
res=0;
for(int i=1;i<=len[x];i++)
{
res|=get(id,input[x][i]);
}
}
else if(comp[x][0]=='X')
{
res=0;
for(int i=1;i<=len[x];i++)
{
res^=get(id,input[x][i]);
}
}
else if(comp[x][0]=='N'&&comp[x][1]=='A')
{
res=1;
for(int i=1;i<=len[x];i++)
{
res&=get(id,input[x][i]);
}
res=!res;
}
else
{
res=0;
for(int i=1;i<=len[x];i++)
{
res|=get(id,input[x][i]);
}
res=!res;
}
return output[x]=res;
}
int work(int id,int x)
{
int res;
if(strcmp(comp[x],"NOT")==0)res=!get(id,input[x][1]);
else if(strcmp(comp[x],"AND")==0)
{
res=1;
for(int i=1;i<=len[x];i++)
{
res&=get(id,input[x][i]);
}
}
else if(strcmp(comp[x],"OR")==0)
{
res=0;
for(int i=1;i<=len[x];i++)
{
res|=get(id,input[x][i]);
}
}
else if(strcmp(comp[x],"XOR")==0)
{
res=0;
for(int i=1;i<=len[x];i++)
{
res^=get(id,input[x][i]);
}
}
else if(strcmp(comp[x],"NAND")==0)
{
res=1;
for(int i=1;i<=len[x];i++)
{
res&=get(id,input[x][i]);
}
res=!res;
}
else
{
res=0;
for(int i=1;i<=len[x];i++)
{
res|=get(id,input[x][i]);
}
res=!res;
}
return output[x]=res;
}