def is_guarded(point, queens,  n):
    """Check if a given point is guarded by any queens in a given list.

    A point is guarded iff there are any queens in `queens` that are on the
    same row or column, or are on the same sum or difference diagonals.

    :queens: A list of (row, col) points where queens are on the board.
    :point: A (row, col) point to check.
    :n: A nonnegative integer denoting the size of the board.

    """
    # There are probably a couple different ways to do this.
    #
    # For now, this is the naive "look if any points that could attack us are
    # in the list" method.
    row, col = point

    for queen in queens:
        queen_row, queen_col = queen
        # Check the rows and columns.
        if queen_row == row or queen_col == col:
            return True

        # Check the sum and difference diagonals.
        if (queen_row + queen_col == row + col or
            queen_row - queen_col == row - col):
            return True

    return False