```python
def match_at(grid: list, row: int, column: int, value: int) -> bool:
    if not grid or not grid[row] or not grid[row][column]:
        raise ValueError("Grid is empty.")
    return grid[row][column] == value

def grid_find(grid: list, value: int) -> list:
    for row in range(len(grid)):
        for col in range(len(grid[row])):
            if grid[row][col] == value:
                return [row, col]
    raise ValueError("Value not found in the grid.")
```