





'''simple docstring'''

import random


class      SCREAMING_SNAKE_CASE__      :







					"""simple docstring"""






					def __init__(   self       :      Union[str, Any]		,	UpperCAmelCase_       :      float		,	UpperCAmelCase_       :      float		):







							"""simple docstring"""
							__UpperCAmelCase	:							Union[str, Any]     =     x
							__UpperCAmelCase	:							Dict     =     y
					def 		lowerCamelCase_   (   self       :      Any		):







							"""simple docstring"""
							return (self.x**2 + self.y**2) <= 1






					@classmethod
					def 		lowerCamelCase_   (   cls       :      Dict		):







							"""simple docstring"""
							return cls(x=random.random()		,	y=random.random()		)






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

		__UpperCAmelCase	:							Optional[Any]     =     0
		for _ in range(_UpperCAmelCase  ):
				__UpperCAmelCase	:							Optional[int]     =     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

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










def        lowerCamelCase_     (     SCREAMING_SNAKE_CASE ):
			'''simple docstring'''
			SCREAMING_SNAKE_CASE     =       len(SCREAMING_SNAKE_CASE )
			SCREAMING_SNAKE_CASE     =       [0] * length
			SCREAMING_SNAKE_CASE     =       [[False for i in range(SCREAMING_SNAKE_CASE )] for j in range(SCREAMING_SNAKE_CASE )]
			for i, c in enumerate(SCREAMING_SNAKE_CASE ):
						SCREAMING_SNAKE_CASE     =       i
						for j in range(i + 1 ):
									if c == string[j] and (i - j < 2 or is_palindromic[j + 1][i - 1]):
												SCREAMING_SNAKE_CASE     =       True
												SCREAMING_SNAKE_CASE     =       min(SCREAMING_SNAKE_CASE       ,						0 if j == 0 else (cut[j - 1] + 1) )
						SCREAMING_SNAKE_CASE     =       mincut
			return cut[length - 1]


if __name__ == "__main__":
		__A    :				Optional[int]    						=	input("""Enter the string: """).strip()
		__A    :				List[Any]    						=	find_minimum_partitions(s)
		print(f'''Minimum number of partitions required for the \'{s}\' is {ans}''')






