def get_neighbours(
    row: int, column: int, rows: int, cols: int
) -> list[tuple[int, int]]:
    """Return a list of neighbouring locations

    Args:
        row (int): The row of the point to find neighbours for
        column (int): The column of the point to find neighbours for
        rows (int): The total number of rows available
        cols (int): The total number of columns available

    Returns:
        list[tuple[int, int]]: A list of coordinate pairs
    """
    return [
        (max(0, row - 1), column),
        (min(rows - 1, row + 1), column),
        (row, max(0, column - 1)),
        (row, min(cols - 1, column + 1)),
    ]