input: Write a python function to find the minimum cost to reach the end of a grid from the start.
  assert minCost([[1, 2, 3], [4, 8, 2], [1, 5, 3]], 2, 2) == 8
  assert minCost([[1, 2, 3], [4, 8, 2], [1, 5, 3]], 1, 2) == 7
  assert minCost([[1, 3, 5], [2, 1, 2], [4, 3, 1]], 2, 2) == 5
output: def minCost(cost, m, n):
      if m < 0 or n < 0:
          return float('inf')
      elif m == 0 and n == 0:
          return cost[m][n]
      else:
          return cost[m][n] + min(minCost(cost, m-1, n-1), minCost(cost, m-1, n), minCost(cost, m, n-1))