
"""simple docstring"""






def __magic_name__  (							_lowerCamelCase:		Tuple )				->	int:

	'''simple docstring'''




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


if __name__ == "__main__":
					UpperCAmelCase          =							input("""Enter the string: """).strip()
					UpperCAmelCase          =							find_minimum_partitions(s)
					print(f"""Minimum number of partitions required for the '{s}' is {ans}""")




"""simple docstring"""






from __future__ import annotations

from typing import Generic, TypeVar

UpperCAmelCase          =							TypeVar("""T""")



class  lowercase				(   lowercase__		):
			pass





class  lowercase				(   lowercase__		):
			pass





class  lowercase				(   Generic[T]		):






			def __init__(self     :  Any			,SCREAMING_SNAKE_CASE_     :  int = 10 )					->  Any:





				"""simple docstring"""


				lowerCAmelCase				       =     []
				lowerCAmelCase				       =     limit






			def __bool__(self     :  List[Any] )					->  bool:





				"""simple docstring"""


				return bool(self.stack )






			def __str__(self     :  Any )					->  str:





				"""simple docstring"""


				return str(self.stack )






			def 				UpperCAmelCase       (self     :  Optional[Any]			,SCREAMING_SNAKE_CASE_     :  T )					->  None:





				"""simple docstring"""


				if len(self.stack ) >= self.limit:
					raise StackOverflowError
				self.stack.append(SCREAMING_SNAKE_CASE_ )






			def 				UpperCAmelCase       (self     :  Tuple )					->  T:





				"""simple docstring"""


				if not self.stack:
					raise StackUnderflowError
				return self.stack.pop()






			def 				UpperCAmelCase       (self     :  int )					->  T:





				"""simple docstring"""


				if not self.stack:
					raise StackUnderflowError
				return self.stack[-1]






			def 				UpperCAmelCase       (self     :  Any )					->  bool:





				"""simple docstring"""


				return not bool(self.stack )






			def 				UpperCAmelCase       (self     :  Optional[Any] )					->  bool:





				"""simple docstring"""


				return self.size() == self.limit






			def 				UpperCAmelCase       (self     :  Tuple )					->  int:





				"""simple docstring"""


				return len(self.stack )






			def __contains__(self     :  List[str]			,SCREAMING_SNAKE_CASE_     :  T )					->  bool:





				"""simple docstring"""


				return item in self.stack





def __magic_name__  (							)				->	None:

	'''simple docstring'''




	lowerCAmelCase				       =     Stack(10 )
	assert bool(_lowerCamelCase ) is False
	assert stack.is_empty() is True
	assert stack.is_full() is False
	assert str(_lowerCamelCase ) == "[]"

	try:
		lowerCAmelCase				       =     stack.pop()
		raise AssertionError  # This should not happen
	except StackUnderflowError:
		assert True  # This should happen

	try:
		lowerCAmelCase				       =     stack.peek()
		raise AssertionError  # This should not happen
	except StackUnderflowError:
		assert True  # This should happen

	for i in range(10 ):
		assert stack.size() == i
		stack.push(_lowerCamelCase )

	assert bool(_lowerCamelCase )
	assert not stack.is_empty()
	assert stack.is_full()
	assert str(_lowerCamelCase ) == str(list(range(10 ) ) )
	assert stack.pop() == 9
	assert stack.peek() == 8

	stack.push(100 )
	assert str(_lowerCamelCase ) == str([0, 1, 2, 3, 4, 5, 6, 7, 8, 100] )

	try:
		stack.push(200 )
		raise AssertionError  # This should not happen
	except StackOverflowError:
		assert True  # This should happen

	assert not stack.is_empty()
	assert stack.size() == 10

	assert 5 in stack
	assert 55 not in stack


if __name__ == "__main__":
					test_stack()


