#!/usr/bin/env python3

import sys as _sys
import json as _json


def evaluate(node):
	# _sys.stderr.write("eval: %s\n" % _json.dumps(node))
	if (node["label"] == "constant_false"):
		return False
	elif (node["label"] == "constant_true"):
		return True
	elif (node["label"] == "negation"):
		return (not evaluate(node["children"][0]))
	elif (node["label"] == "conjunction"):
		return (evaluate(node["children"][0]) and evaluate(node["children"][1]))
	elif (node["label"] == "disjunction"):
		return (evaluate(node["children"][0]) or evaluate(node["children"][1]))
	elif (node["label"] == "priorised"):
		return evaluate(node["children"][0])
	else:
		raise ValueError("unhandled label: " + node["label"])
	

def main():
	content = _sys.stdin.read()
	node = _json.loads(content)
	value = evaluate(node)
	_sys.stdout.write(_json.dumps(value) + "\n")
	

main()

