

def _a					(			SCREAMING_SNAKE_CASE						:     str       ,   SCREAMING_SNAKE_CASE						:     str       ,   SCREAMING_SNAKE_CASE						:     int       ,   SCREAMING_SNAKE_CASE						:     int       ,   SCREAMING_SNAKE_CASE						:     int       ,   SCREAMING_SNAKE_CASE						:     int       ,   )       ->       tuple[list[list[int]], list[list[str]]]:

 """simple docstring"""






 __lowerCAmelCase:  int        = list(SCREAMING_SNAKE_CASE						)
 __lowerCAmelCase:  Optional[Any]        = list(SCREAMING_SNAKE_CASE						)
 __lowerCAmelCase:  List[Any]        = len(SCREAMING_SNAKE_CASE						)
 __lowerCAmelCase:  Optional[int]        = len(SCREAMING_SNAKE_CASE						)

 __lowerCAmelCase:  Union[str, Any]        = [
     [0 for _ in range(len_destination_seq + 1						)] for _ in range(len_source_seq + 1						)
 ]
 __lowerCAmelCase:  Dict        = [
     ['0' for _ in range(len_destination_seq + 1						)] for _ in range(len_source_seq + 1						)
 ]

 for i in range(1       ,   len_source_seq + 1						):
  __lowerCAmelCase:  Union[str, Any]        = i * delete_cost
  __lowerCAmelCase:  List[Any]        = f'''D{source_seq[i - 1]:c}'''

 for i in range(1       ,   len_destination_seq + 1						):
  __lowerCAmelCase:  Dict        = i * insert_cost
  __lowerCAmelCase:  Dict        = f'''I{destination_seq[i - 1]:c}'''

 for i in range(1       ,   len_source_seq + 1						):
  for j in range(1       ,   len_destination_seq + 1						):
   if source_seq[i - 1] == destination_seq[j - 1]:
    __lowerCAmelCase:  List[str]        = costs[i - 1][j - 1] + copy_cost
    __lowerCAmelCase:  List[str]        = f'''C{source_seq[i - 1]:c}'''
   else:
    __lowerCAmelCase:  Union[str, Any]        = costs[i - 1][j - 1] + replace_cost
    __lowerCAmelCase:  List[Any]        = f'''R{source_seq[i - 1]:c}''' + str(destination_seq[j - 1]						)

   if costs[i - 1][j] + delete_cost < costs[i][j]:
    __lowerCAmelCase:  Optional[int]        = costs[i - 1][j] + delete_cost
    __lowerCAmelCase:  List[Any]        = f'''D{source_seq[i - 1]:c}'''

   if costs[i][j - 1] + insert_cost < costs[i][j]:
    __lowerCAmelCase:  Union[str, Any]        = costs[i][j - 1] + insert_cost
    __lowerCAmelCase:  List[str]        = f'''I{destination_seq[j - 1]:c}'''

 return costs, ops







def _a					(			SCREAMING_SNAKE_CASE						:     list[list[str]]       ,   SCREAMING_SNAKE_CASE						:     int       ,   SCREAMING_SNAKE_CASE						:     int						)       ->       list[str]:

 """simple docstring"""






 if i == 0 and j == 0:
  return []
 else:
  if ops[i][j][0] == "C" or ops[i][j][0] == "R":
   __lowerCAmelCase:  Any        = assemble_transformation(SCREAMING_SNAKE_CASE       ,   i - 1       ,   j - 1						)
   seq.append(ops[i][j]						)
   return seq
  elif ops[i][j][0] == "D":
   __lowerCAmelCase:  int        = assemble_transformation(SCREAMING_SNAKE_CASE       ,   i - 1       ,   SCREAMING_SNAKE_CASE						)
   seq.append(ops[i][j]						)
   return seq
  else:
   __lowerCAmelCase:  int        = assemble_transformation(SCREAMING_SNAKE_CASE       ,   SCREAMING_SNAKE_CASE       ,   j - 1						)
   seq.append(ops[i][j]						)
   return seq


if __name__ == "__main__":
  _a			,      _a									=  compute_transform_tables('''Python''', '''Algorithms''', -1, 1, 2, 2)

  _a									=  len(operations)
  _a									=  len(operations[0])
  _a									=  assemble_transformation(operations, m - 1, n - 1)

  _a									=  list('''Python''')
  _a									=  0
  _a									=  0

  with open('''min_cost.txt''', '''w''') as file:
    for op in sequence:
      print(''''''.join(string))

      if op[0] == "C":
        file.write('''%-16s''' % '''Copy %c''' % op[1])
        file.write('''\t\t\t''' + ''''''.join(string))
        file.write('''\r\n''')

        cost -= 1
      elif op[0] == "R":
        _a									=  op[2]

        file.write('''%-16s''' % ('''Replace %c''' % op[1] + ''' with ''' + str(op[2])))
        file.write('''\t\t''' + ''''''.join(string))
        file.write('''\r\n''')

        cost += 1
      elif op[0] == "D":
        string.pop(i)

        file.write('''%-16s''' % '''Delete %c''' % op[1])
        file.write('''\t\t\t''' + ''''''.join(string))
        file.write('''\r\n''')

        cost += 2
      else:
        string.insert(i, op[1])

        file.write('''%-16s''' % '''Insert %c''' % op[1])
        file.write('''\t\t\t''' + ''''''.join(string))
        file.write('''\r\n''')

        cost += 2

      i += 1

    print(''''''.join(string))
    print('''Cost: ''', cost)

    file.write('''\r\nMinimum cost: ''' + str(cost))








def _a					(			SCREAMING_SNAKE_CASE						:     str						)       ->       str:

 """simple docstring"""






 return "".join(chr(ord(SCREAMING_SNAKE_CASE						) + 32						) if 'A' <= char <= 'Z' else char for char in word						)


if __name__ == "__main__":
  from doctest import testmod

  testmod()





