def is_open_sea(row, column, fleet):
    """
    This method checks if the square given by row and column neither contains nor is adjacent
    (horizontally, vertically, or diagonally) to some ship in fleet.
    :param row: int
    :param column: int
    :param fleet: list
    :returns result: bool - True if so and False otherwise
    """
    result = True
    if fleet:
        for i in range(len(fleet)):
            # get squares occupied by a ship
            squares_occupied = []
            for j in range(fleet[i][3]):
                # if horizontal
                if fleet[i][2]:
                    squares_occupied.append((fleet[i][0], fleet[i][1] + j))
                # if vertical
                else:
                    squares_occupied.append((fleet[i][0] + j, fleet[i][1]))
            # check squares conflicts
            for j in range(len(squares_occupied)):
                if abs(row - squares_occupied[j][0]) <= 1 and abs(column - squares_occupied[j][1]) <= 1:
                    result = False
                    return result
    return result