output_description: Print the answer.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      S
      T
attempt: def levenshtein(s1, s2):
      """
      >>> levenshtein('kitten', 'sitting')
      3
      >>> levenshtein('あいうえお', 'あいうえお')
      0
      >>> levenshtein('あいうえお', 'かきくけこ')
      5
      """
      n, m = len(s1), len(s2)
  
      dp = [[0] * (m + 1) for _ in range(n + 1)]
  
      for i in range(n + 1):
          dp[i][0] = i
  
      for j in range(m + 1):
          dp[0][j] = j
  
      for i in range(1, n + 1):
          for j in range(1, m + 1):
              cost = 0 if s1[i - 1] == s2[j - 1] else 1
              dp[i][j] = min(
                  dp[i - 1][j] + 1,  # insertion
                  dp[i][j - 1] + 1,  # deletion
                  dp[i - 1][j - 1] + cost,
              )  # replacement
  
      return dp[n][m]
  
  
  s1 = input()
  s2 = input()
  print(levenshtein(s1, s2))
  
problem_description: Statement
  
  Given are strings S and T. Consider changing S to T by repeating the operation
  below. Find the minimum number of operations required to do so.
  
  Operation: Choose one character of S and replace it with a different
  character.
samples: [{"input": "cupofcoffee\n    cupofhottea", "output": "4\n    \n\nWe can achieve the objective in four operations, such as the following:\n\n  * First, replace the sixth character `c` with `h`.\n  * Second, replace the eighth character `f` with `t`.\n  * Third, replace the ninth character `f` with `t`.\n  * Fourth, replace the eleventh character `e` with `a`.\n\n* * *"}, {"input": "abcde\n    bcdea", "output": "5\n    \n\n* * *"}, {"input": "apple\n    apple", "output": "0\n    \n\nNo operations may be needed to achieve the objective."}]