'''simple docstring'''

from doctest import testmod
from math import sqrt



def 				UpperCamelCase__      (      a__   ):


						'''simple docstring'''






						_lowerCAmelCase					    =[]
						if num < 1:
												return facs
						facs.append(1   )
						if num == 1:
												return facs
						facs.append(a__   )
						for i in range(2      ,   int(sqrt(a__   )   ) + 1   ):
												if num % i == 0:  # If i is a factor of num
																		facs.append(a__   )
																		_lowerCAmelCase					    =num // i  # num//i is the other factor of num
																		if d != i:  # If d and i are distinct
																								facs.append(a__   )  # we have found another factor
						facs.sort()
						return facs


if __name__ == "__main__":
							testmod(name='''factors_of_a_number''', verbose=True)











'''simple docstring'''






def 		a_(			lowerCamelCase ,					lowerCamelCase   )					->int:






       '''simple docstring'''




       if len(lowerCamelCase   ) < len(lowerCamelCase   ):
              return levenshtein_distance(lowerCamelCase ,					lowerCamelCase   )

       if len(lowerCamelCase   ) == 0:
              return len(lowerCamelCase   )

       lowercase	:		List[Any]    =   list(range(len(lowerCamelCase   ) + 1   )   )

       for i, ca in enumerate(lowerCamelCase   ):
              lowercase	:		Any    =   [i + 1]

              for j, ca in enumerate(lowerCamelCase   ):
                     # Calculate insertions, deletions and substitutions
                     lowercase	:		List[Any]    =   previous_row[j + 1] + 1
                     lowercase	:		str    =   current_row[j] + 1
                     lowercase	:		List[Any]    =   previous_row[j] + (ca != ca)

                     # Get the minimum to append to the current row
                     current_row.append(min(lowerCamelCase ,					lowerCamelCase ,					lowerCamelCase   )   )

              # Store the previous row
              lowercase	:		List[str]    =   current_row

       # Returns the last element (distance)
       return previous_row[-1]


if __name__ == "__main__":
      lowercase						:   Dict      						=							input('''Enter the first word:\n''').strip()
      lowercase						:   Tuple      						=							input('''Enter the second word:\n''').strip()

      lowercase						:   Tuple      						=							levenshtein_distance(first_word, second_word)
      print(f'Levenshtein distance between {first_word} and {second_word} is {result}')




