


import functools







def        _lowerCamelCase(	lowercase__   , lowercase__	)						->	int:

		'''simple docstring'''







		__lowercase=			len(lowercase__	)
		__lowercase=			len(lowercase__	)

		@functools.cache
		def min_distance(lowercase__   , lowercase__	) -> int:
				# if first word index is overflow - delete all from the second word
				if indexa >= len_worda:
						return len_worda - indexa
				# if second word index is overflow - delete all from the first word
				if indexa >= len_worda:
						return len_worda - indexa
				__lowercase=			int(worda[indexa] != worda[indexa]	)  # current letters not identical
				return min(
				    1 + min_distance(indexa + 1   , lowercase__	)   , 1 + min_distance(lowercase__   , indexa + 1	)   , diff + min_distance(indexa + 1   , indexa + 1	)   , )

		return min_distance(0   , 0	)


if __name__ == "__main__":
	import doctest

	doctest.testmod()










from __future__ import annotations







def        _lowerCamelCase(	lowercase__	)						->	list[int]:

		'''simple docstring'''







		__lowercase=			2
		__lowercase=			[]
		while i * i <= n:
				if n % i:
						i += 1
				else:
						n //= i
						factors.append(lowercase__	)
		if n > 1:
				factors.append(lowercase__	)
		return factors


if __name__ == "__main__":
	import doctest

	doctest.testmod()






