



from __future__ import annotations


def      a__ (		__UpperCamelCase				):
      SCREAMING_SNAKE_CASE_          =  len(snake_case_				) // 2

      # choose the middle 3 elements
      SCREAMING_SNAKE_CASE_          =  lst[m - 1 : m + 2]

      # if middle element is peak
      if three[1] > three[0] and three[1] > three[2]:
            return three[1]

      # if increasing, recurse on right
      elif three[0] < three[2]:
            if len(lst[:m]				) == 2:
                  m -= 1
            return peak(lst[m:]				)

      # decreasing
      else:
            if len(lst[:m]				) == 2:
                  m += 1
            return peak(lst[:m]				)


if __name__ == "__main__":
      import doctest

      doctest.testmod()



from __future__ import annotations


def      a__ (		__UpperCamelCase				):

      # preprocessing the first row
      for i in range(1     ,      len(matrix[0]				)				):
            matrix[0][i] += matrix[0][i - 1]

      # preprocessing the first column
      for i in range(1     ,      len(__UpperCamelCase				)				):
            matrix[i][0] += matrix[i - 1][0]

      # updating the path cost for current position
      for i in range(1     ,      len(__UpperCamelCase				)				):
            for j in range(1     ,      len(matrix[0]				)				):
                  matrix[i][j] += min(matrix[i - 1][j]     ,      matrix[i][j - 1]				)

      return matrix[-1][-1]


if __name__ == "__main__":
      import doctest

      doctest.testmod()


