"""simple docstring"""





from __future__ import annotations

from cmath import sqrt





def        a_  (   _lowerCAmelCase						:				Optional[int]     ,				_lowerCAmelCase						:				List[Any]     ,				_lowerCAmelCase						:				Any  ):





       '''simple docstring'''

       if a == 0:
              raise ValueError('Coefficient \'a\' must not be zero.'  )
       lowercase__    :	Optional[Any]     					=			b * b - 4 * a * c

       lowercase__    :	Optional[int]     					=			(-b + sqrt(_lowerCamelCase  )) / (2 * a)
       lowercase__    :	int     					=			(-b - sqrt(_lowerCamelCase  )) / (2 * a)

       return (
           root_a.real if not root_a.imag else root_a,
           root_a.real if not root_a.imag else root_a,
       )





def        a_  (   ):





       '''simple docstring'''

       lowercase__    :	List[str]     					=			quadratic_roots(a=5     ,				b=6     ,				c=1  )
       print(f"""The solutions are: {solutiona} and {solutiona}"""  )


if __name__ == "__main__":
       main()


"""simple docstring"""





def        a_  (   _lowerCAmelCase						:				str  ):





       '''simple docstring'''

       lowercase__    :	Any     					=			[0] * len(_lowerCAmelCase  )

       for i in range(1     ,				len(_lowerCAmelCase  )  ):
              # use last results for better performance - dynamic programming
              lowercase__    :	List[str]     					=			prefix_result[i - 1]
              while j > 0 and input_string[i] != input_string[j]:
                     lowercase__    :	Dict     					=			prefix_result[j - 1]

              if input_string[i] == input_string[j]:
                     j += 1
              lowercase__    :	Union[str, Any]     					=			j

       return prefix_result





def        a_  (   _lowerCAmelCase						:				str  ):





       '''simple docstring'''

       return max(prefix_function(_lowerCAmelCase  )  )


if __name__ == "__main__":
       import doctest

       doctest.testmod()

