
'''simple docstring'''

def 		_UpperCAmelCase			(					_lowerCamelCase  :    int					, _lowerCamelCase  :    int					, _lowerCamelCase  :    int					, _lowerCamelCase  :    int						)      ->  int:
  return len_board * len_board_column * row + column


def 		_UpperCAmelCase			(					_lowerCamelCase  :    list[list[str]]					, _lowerCamelCase  :    str					, _lowerCamelCase  :    int					, _lowerCamelCase  :    int					, _lowerCamelCase  :    int					, _lowerCamelCase  :    set[int]					, )      ->  bool:

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

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

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

    _lowerCAmelCase    :					Any							=   get_point_key(_lowerCamelCase					, _lowerCamelCase					, _lowerCamelCase					, _lowerCamelCase						)
    if key in visited_points_set:
      continue

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

    visited_points_set.remove(_lowerCamelCase						)

  return False


def 		_UpperCAmelCase			(					_lowerCamelCase  :    list[list[str]]					, _lowerCamelCase  :    str						)      ->  bool:
  _lowerCAmelCase    :					Union[str, Any]							=   (
      """The board should be a non empty matrix of single chars strings."""
  )

  _lowerCAmelCase    :					Dict							=   len(_lowerCamelCase						)
  if not isinstance(_lowerCamelCase					, _lowerCamelCase						) or len(_lowerCamelCase						) == 0:
    raise ValueError(_lowerCamelCase						)

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

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

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

  _lowerCAmelCase    :					Union[str, Any]							=   len(board[0]						)
  for i in range(_lowerCamelCase						):
    for j in range(_lowerCamelCase						):
      if exits_word(
          _lowerCamelCase					, _lowerCamelCase					, _lowerCamelCase					, _lowerCamelCase					, 0					, {get_point_key(_lowerCamelCase					, _lowerCamelCase					, _lowerCamelCase					, _lowerCamelCase						)}						):
        return True

  return False


if __name__ == "__main__":
     import doctest

     doctest.testmod()


'''simple docstring'''

import platform
from argparse import ArgumentParser

import huggingface_hub
import pandas
import pyarrow

from datasets import __version__ as version
from datasets.commands import BaseDatasetsCLICommand


def 		_UpperCAmelCase			(					_lowerCamelCase  :    List[Any]						)      ->  Optional[Any]:
  return EnvironmentCommand()



class 					a_					(_a      ):




       @staticmethod
       def 							__UpperCamelCase    (       snake_case_					):
         _lowerCAmelCase    :					Optional[Any]							=   parser.add_parser("""env"""				,				help="""Print relevant system environment info."""					)
         download_parser.set_defaults(func=snake_case_					)




       def 							__UpperCamelCase    (       self					):
         _lowerCAmelCase    :					Optional[Any]							=   {
             """`datasets` version""": version,
             """Platform""": platform.platform(),
             """Python version""": platform.python_version(),
             """Huggingface_hub version""": huggingface_hub.__version__,
             """PyArrow version""": pyarrow.__version__,
             """Pandas version""": pandas.__version__,
         }

         print("""\nCopy-and-paste the text below in your GitHub issue.\n"""					)
         print(self.format_dict(snake_case_					)					)

         return info







       @staticmethod
       def 							__UpperCamelCase    (       snake_case_					):
         return "\n".join([f'- {prop}: {val}' for prop, val in d.items()]					) + "\n"


