input: Write a python function to find the number of unique paths in a grid.
  assert unique_paths([[0,0,0],[0,0,0],[0,0,0]]) == 6
  assert unique_paths([[0,0],[0,0]]) == 2
  assert unique_paths([[0,0,0],[0,0,0]]) == 3
output: def unique_paths(grid):
      if not grid or not grid[0]:
          return 0
      m, n = len(grid), len(grid[0])
      dp = [[0] * n for _ in range(m)]
      dp[0][0] = 1  # Starting point
  
      for i in range(m):
          for j in range(n):
              if i > 0:
                  dp[i][j] += dp[i - 1][j]
              if j > 0:
                  dp[i][j] += dp[i][j - 1]
  
      return dp[m - 1][n - 1]