



def     __lowerCamelCase							(   __magic_name__						:	List[str]  ,			__magic_name__						:	List[str]  ,			__magic_name__						:	Tuple  ,			__magic_name__						:	Tuple    ):
							return len_board * len_board_column * row + column





def     __lowerCamelCase							(   __magic_name__						:	int  ,			__magic_name__						:	Dict  ,			__magic_name__						:	Union[str, Any]  ,			__magic_name__						:	Optional[Any]  ,			__magic_name__						:	int  ,			__magic_name__						:	str  ,			):

							if board[row][column] != word[word_index]:
														return False

							if word_index == len(__magic_name__    ) - 1:
														return True

							a__:							Union[str, Any]									=[(0, 1), (0, -1), (-1, 0), (1, 0)]
							a__:							Dict									=len(__magic_name__    )
							a__:							List[Any]									=len(board[0]    )
							for direction in traverts_directions:
														a__:							Tuple									=row + direction[0]
														a__:							str									=column + direction[1]
														if not (0 <= next_i < len_board and 0 <= next_j < len_board_column):
																					continue

														a__:							str									=get_point_key(__magic_name__  ,			__magic_name__  ,			__magic_name__  ,			__magic_name__    )
														if key in visited_points_set:
																					continue

														visited_points_set.add(__magic_name__    )
														if exits_word(__magic_name__  ,			__magic_name__  ,			__magic_name__  ,			__magic_name__  ,			word_index + 1  ,			__magic_name__    ):
																					return True

														visited_points_set.remove(__magic_name__    )

							return False





def     __lowerCamelCase							(   __magic_name__						:	int  ,			__magic_name__						:	str    ):
							a__:							int									=(
							    "The board should be a non empty matrix of single chars strings."
							)

							a__:							Dict									=len(__magic_name__    )
							if not isinstance(__magic_name__  ,			__magic_name__    ) or len(__magic_name__    ) == 0:
														raise ValueError(__magic_name__    )

							for row in board:
														if not isinstance(__magic_name__  ,			__magic_name__    ) or len(__magic_name__    ) == 0:
																					raise ValueError(__magic_name__    )

														for item in row:
																					if not isinstance(__magic_name__  ,			__magic_name__    ) or len(__magic_name__    ) != 1:
																												raise ValueError(__magic_name__    )

    # Validate word
							if not isinstance(__magic_name__  ,			__magic_name__    ) or len(__magic_name__    ) == 0:
														raise ValueError(
														    "The word parameter should be a string of length greater than 0."    )

							a__:							Any									=len(board[0]    )
							for i in range(__magic_name__    ):
														for j in range(__magic_name__    ):
																					if exits_word(
																					    __magic_name__  ,			__magic_name__  ,			__magic_name__  ,			__magic_name__  ,			0  ,			{get_point_key(__magic_name__  ,			__magic_name__  ,			__magic_name__  ,			__magic_name__    )}    ):
																												return True

							return False


if __name__ == "__main__":
		import doctest

		doctest.testmod()













"""simple docstring"""





def 	lowerCAmelCase_(			SCREAMING_SNAKE_CASE       )       ->						int:
    """simple docstring"""

    if not isinstance(SCREAMING_SNAKE_CASE			,						SCREAMING_SNAKE_CASE       ):
        raise ValueError('double_factorial() only accepts integral values'       )
    if num < 0:
        raise ValueError('double_factorial() not defined for negative values'       )
    UpperCamelCase__								=     1
    for i in range(SCREAMING_SNAKE_CASE			,						0			,						-2       ):
        value *= i
    return value


if __name__ == "__main__":
  import doctest

  doctest.testmod()




