def predict_decision(dt, e):
	"""
	Predicts decision on a testing example.
	
	Parameter:
	dt -- the decision tree
	e -- a testing example
	
	Return:
	decision -- a classification/decision
	"""
	split = list(dt.keys())[0]
	try:
		branch = dt[split][e[split]]
	except KeyError:
		# attribute not found in split
		return None
	if not isinstance(branch, dict): # terminal leaf node/decision
		return branch
	return predict_decision(branch, e)