





'''simple docstring'''







def    _lowerCAmelCase						(						lowercase					,	lowercase					,	lowercase					,	lowercase					,	lowercase	)					->					None:
			if target == 0:
						answer.append(path.copy()	)
			else:
						for index in range(lowercase					,	len(lowercase	)	):
									if target >= candidates[index]:
												path.append(candidates[index]	)
												backtrack(lowercase					,	lowercase					,	lowercase					,	target - candidates[index]					,	lowercase	)
												path.pop(len(lowercase	) - 1	)





def    _lowerCAmelCase						(						lowercase					,	lowercase	)					->					list:
			__lowerCAmelCase											=				[]  # type: list[int]
			__lowerCAmelCase											=				[]  # type: list[int]
			backtrack(lowercase					,	lowercase					,	lowercase					,	lowercase					,	0	)
			return answer





def    _lowerCAmelCase						(						)					->					None:
			print(combination_sum([-8, 2.3, 0]					,	1	)	)


if __name__ == "__main__":
	import doctest

	doctest.testmod()
	main()








'''simple docstring'''







def    _lowerCAmelCase						(						lowercase	)					->					int:
			__lowerCAmelCase											=				len(lowercase	)
			__lowerCAmelCase											=				[0] * length
			__lowerCAmelCase											=				[[False for i in range(lowercase	)] for j in range(lowercase	)]
			for i, c in enumerate(lowercase	):
						__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(lowercase					,	0 if j == 0 else (cut[j - 1] + 1)	)
						__lowerCAmelCase											=				mincut
			return cut[length - 1]


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

