






def _UpperCAmelCase   (	a						:	str  ,					a						:	str ):

							if not (isinstance(a  ,					a ) and isinstance(a  ,					a )):
														raise ValueError("""longest_common_substring() takes two strings for inputs""" )

							snake_case__	  =       len(a )
							snake_case__	  =       len(a )

							snake_case__	  =       [[0] * (texta_length + 1) for _ in range(texta_length + 1 )]
							snake_case__	  =       0
							snake_case__	  =       0

							for i in range(1  ,					texta_length + 1 ):
														for j in range(1  ,					texta_length + 1 ):
																					if texta[i - 1] == texta[j - 1]:
																												snake_case__	  =       1 + dp[i - 1][j - 1]
																												if dp[i][j] > ans_length:
																																			snake_case__	  =       i
																																			snake_case__	  =       dp[i][j]

							return texta[ans_index - ans_length : ans_index]


if __name__ == "__main__":
	import doctest

	doctest.testmod()








import random
from typing import Any

def _UpperCAmelCase   (	a						:	list ):
							for _ in range(len(a ) ):
														snake_case__	  =       random.randint(0  ,					len(a ) - 1 )
														snake_case__	  =       random.randint(0  ,					len(a ) - 1 )
														snake_case__  , snake_case__	  =       data[b], data[a]
							return data


if __name__ == "__main__":
	a__       =     [0, 1, 2, 3, 4, 5, 6, 7]
	a__       =     ["""python""", """says""", """hello""", """!"""]
	print("""Fisher-Yates Shuffle:""")
	print("""List""", integers, strings)
	print("""FY Shuffle""", fisher_yates_shuffle(integers), fisher_yates_shuffle(strings))
