



import random






class 	lowercase		:






	"""simple docstring"""


	def __init__(			self			:		Optional[Any]		,						__UpperCAmelCase			:		Union[str, Any]		,						__UpperCAmelCase			:		Union[str, Any]  )    ->				Any:
							UpperCAmelCase_=     x
							UpperCAmelCase_=     y




	def 						_SCREAMING_SNAKE_CASE	(			self			:		List[str]  )    ->				List[Any]:
							return (self.x**2 + self.y**2) <= 1




	@classmethod
	def 						_SCREAMING_SNAKE_CASE	(			cls			:		Optional[int]  )    ->				Any:
							return cls(x=random.random()		,						y=random.random()  )



def  __a  (					lowerCAmelCase_     :      int       )   ->				Tuple:






						'''simple docstring'''



						if number_of_simulations < 1:
												raise ValueError("""At least one simulation is necessary to estimate PI."""       )

						UpperCAmelCase_=     0
						for _ in range(lowerCAmelCase_       ):
												UpperCAmelCase_=     Point.random_unit_square()

												if random_point.is_in_unit_circle():
																		number_in_unit_circle += 1

						return 4 * number_in_unit_circle / number_of_simulations


if __name__ == "__main__":
	# import doctest

	# doctest.testmod()
	from math import pi

	__A       					=		"""Please enter the desired number of Monte Carlo simulations: """
	__A       					=		estimate_pi(int(input(prompt).strip()))
	print(f'An estimate of PI is {my_pi} with an error of {abs(my_pi - pi)}')









from .prime_check import Test

Test()




