



from __future__ import annotations

class      UpperCAmelCase_						:

						'''simple docstring'''




						def __init__(					self   ,							_A	):







													'''simple docstring'''

													__SCREAMING_SNAKE_CASE								=      value
													__SCREAMING_SNAKE_CASE								=      None
													__SCREAMING_SNAKE_CASE								=      None







class      UpperCAmelCase_						:

						'''simple docstring'''




						UpperCamelCase__    :				int






						def __init__(					self	):







													'''simple docstring'''

													__SCREAMING_SNAKE_CASE								=      0






						def  _A			(					self   ,							_A   ,							_A	):







													'''simple docstring'''

													if node is None:
																				return

													if path_sum == self.target:
																				self.paths += 1

													if node.left:
																				self.depth_first_search(node.left   ,							path_sum + node.left.value	)
													if node.right:
																				self.depth_first_search(node.right   ,							path_sum + node.right.value	)






						def  _A			(					self   ,							_A   ,							_A = None	):







													'''simple docstring'''

													if node is None:
																				return 0
													if target is not None:
																				__SCREAMING_SNAKE_CASE								=      target

													self.depth_first_search(_A   ,							node.value	)
													self.path_sum(node.left	)
													self.path_sum(node.right	)

													return self.paths


if __name__ == "__main__":
			import doctest

			doctest.testmod()











from itertools import combinations, product






def 			__lowercase     (				a__							,     a__							,     a__							,     a__     )       ->				bool:
							if xa == ya == 0 or xa == ya == 0:
														return False
							__SCREAMING_SNAKE_CASE								=      xa * xa + ya * ya
							__SCREAMING_SNAKE_CASE								=      xa * xa + ya * ya
							__SCREAMING_SNAKE_CASE								=      (xa - xa) * (xa - xa) + (ya - ya) * (ya - ya)
							return (
							    a_square + b_square == c_square
							    or a_square + c_square == b_square
							    or b_square + c_square == a_square
							)






def 			__lowercase     (				a__ = 50     )       ->				int:
							return sum(
							    1
							    for pta, pta in combinations(product(range(limit + 1     )							,     repeat=2     )							,     2     )
							    if is_right(*a__							,     *a__     )     )


if __name__ == "__main__":
			print(F'''{solution() = }''')






