
'''simple docstring'''

def     snake_case__						(   UpperCamelCase						)			->   list:
		_UpperCamelCase							:			Dict     =   [0] * len(__A						)

		for i in range(1      ,len(__A						)						):
				# use last results for better performance - dynamic programming
				_UpperCamelCase							:			List[Any]     =   prefix_result[i - 1]
				while j > 0 and input_string[i] != input_string[j]:
						_UpperCamelCase							:			Tuple     =   prefix_result[j - 1]

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

		return prefix_result







def     snake_case__						(   UpperCamelCase						)			->   int:
		return max(prefix_function(__A						)						)


if __name__ == "__main__":
	import doctest

	doctest.testmod()








from typing import TYPE_CHECKING

from ...utils import _LazyModule


_lowerCamelCase      :					Tuple					    =      {'''tokenization_byt5''': ['''ByT5Tokenizer''']}


if TYPE_CHECKING:
   from .tokenization_byta import ByTaTokenizer
else:
   import sys

   _lowerCamelCase      :					Optional[int]					    =      _LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)


