


"""simple docstring"""


import argparse
import os

from accelerate.utils import ComputeEnvironment

from .cluster import get_cluster_input
from .config_args import cache_dir, default_config_file, default_yaml_config_file, load_config_from_file  # noqa: F401
from .config_utils import _ask_field, _ask_options, _convert_compute_environment  # noqa: F401
from .sagemaker import get_sagemaker_input


__lowerCamelCase      :List[Any]	    =		'Launches a series of prompts to create and save a `default_config.yaml` configuration file for your training system. Should always be ran first on your machine'




def   snake_case		(     )   ->      List[str]:

      '''simple docstring'''





      lowerCamelCase					:					Any        =	_ask_options(
          """In which compute environment are you running?"""			,				["""This machine""", """AWS (Amazon SageMaker)"""]			,				_convert_compute_environment			,				)
      if compute_environment == ComputeEnvironment.AMAZON_SAGEMAKER:
            lowerCamelCase					:					str        =	get_sagemaker_input()
      else:
            lowerCamelCase					:					Dict        =	get_cluster_input()
      return config




def   snake_case		(     UpperCamelCase__       :						Optional[int]=None    )   ->      Optional[Any]:

      '''simple docstring'''





      if subparsers is not None:
            lowerCamelCase					:					Any        =	subparsers.add_parser("""config"""			,				description=UpperCamelCase__    )
      else:
            lowerCamelCase					:					Optional[Any]        =	argparse.ArgumentParser("""Accelerate config command"""			,				description=UpperCamelCase__    )

      parser.add_argument(
          """--config_file"""			,				default=UpperCamelCase__			,				help=(
              """The path to use to store the config file. Will default to a file named default_config.yaml in the cache """
              """location, which is the content of the environment `HF_HOME` suffixed with 'accelerate', or if you don't have """
              """such an environment variable, your cache directory ('~/.cache' or the content of `XDG_CACHE_HOME`) suffixed """
              """with 'huggingface'."""
          )			,				)

      if subparsers is not None:
            parser.set_defaults(func=UpperCamelCase__    )
      return parser




def   snake_case		(     UpperCamelCase__       :						Union[str, Any]    )   ->      Optional[Any]:

      '''simple docstring'''





      lowerCamelCase					:					Dict        =	get_user_input()
      if args.config_file is not None:
            lowerCamelCase					:					Tuple        =	args.config_file
      else:
            if not os.path.isdir(UpperCamelCase__    ):
                  os.makedirs(UpperCamelCase__    )
            lowerCamelCase					:					str        =	default_yaml_config_file

      if config_file.endswith(""".json"""    ):
            config.to_json_file(UpperCamelCase__    )
      else:
            config.to_yaml_file(UpperCamelCase__    )
      print(F'accelerate configuration saved at {config_file}'    )




def   snake_case		(     )   ->      Tuple:

      '''simple docstring'''





      lowerCamelCase					:					List[str]        =	config_command_parser()
      lowerCamelCase					:					List[str]        =	parser.parse_args()
      config_command(UpperCamelCase__    )


if __name__ == "__main__":
    main()








"""simple docstring"""


import os




def   snake_case		(     )   ->      Optional[Any]:
      with open(os.path.dirname(UpperCamelCase__    ) + """/grid.txt"""    ) as f:
            lowerCamelCase					:					int        =	[]  # noqa: E741
            for _ in range(20    ):
                  l.append([int(UpperCamelCase__    ) for x in f.readline().split()]    )

            lowerCamelCase					:					Union[str, Any]        =	0

            # right
            for i in range(20    ):
                  for j in range(17    ):
                        lowerCamelCase					:					Dict        =	l[i][j] * l[i][j + 1] * l[i][j + 2] * l[i][j + 3]
                        if temp > maximum:
                              lowerCamelCase					:					Tuple        =	temp

        # down
            for i in range(17    ):
                  for j in range(20    ):
                        lowerCamelCase					:					Any        =	l[i][j] * l[i + 1][j] * l[i + 2][j] * l[i + 3][j]
                        if temp > maximum:
                              lowerCamelCase					:					Optional[Any]        =	temp

        # diagonal 1
            for i in range(17    ):
                  for j in range(17    ):
                        lowerCamelCase					:					List[Any]        =	l[i][j] * l[i + 1][j + 1] * l[i + 2][j + 2] * l[i + 3][j + 3]
                        if temp > maximum:
                              lowerCamelCase					:					List[str]        =	temp

        # diagonal 2
            for i in range(17    ):
                  for j in range(3			,				20    ):
                        lowerCamelCase					:					List[str]        =	l[i][j] * l[i + 1][j - 1] * l[i + 2][j - 2] * l[i + 3][j - 3]
                        if temp > maximum:
                              lowerCamelCase					:					List[Any]        =	temp
            return maximum


if __name__ == "__main__":
    print(solution())




