





"""simple docstring"""





# Copyright 2021 The HuggingFace Team. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import argparse

from .config import config_command_parser
from .config_args import default_config_file, load_config_from_file  # noqa: F401
from .default import default_command_parser
from .update import update_command_parser


def       lowerCamelCase_       (   UpperCAmelCase_=None  )						->Tuple:





  """simple docstring"""


  __UpperCAmelCase    :						List[str]       =						argparse.ArgumentParser(add_help=UpperCAmelCase_  ,			allow_abbrev=UpperCAmelCase_  )
  # The main config parser
  __UpperCAmelCase    :						Dict       =						config_command_parser(UpperCAmelCase_  )
  # The subparser to add commands to
  __UpperCAmelCase    :						Union[str, Any]       =						config_parser.add_subparsers(title='''subcommands'''  ,			dest='''subcommand'''  )

  # Then add other parsers with the parent parser
  default_command_parser(UpperCAmelCase_  ,			parents=[parent_parser]  )
  update_command_parser(UpperCAmelCase_  ,			parents=[parent_parser]  )

  return config_parser


def       lowerCamelCase_       (   )						->int:





  """simple docstring"""


  __UpperCAmelCase    :						Tuple       =						get_config_parser()
  __UpperCAmelCase    :						Dict       =						config_parser.parse_args()

  if not hasattr(UpperCAmelCase_  ,			'''func'''  ):
    config_parser.print_help()
    exit(1  )

  # Run
  args.func(UpperCAmelCase_  )


if __name__ == "__main__":
  main()






"""simple docstring"""





def       lowerCamelCase_       (   )						->str:





  """simple docstring"""


  for n in range(1  ,			1_00_00_00  ):
    yield n * (n + 1) // 2


def       lowerCamelCase_       (   UpperCAmelCase_  )						->Union[str, Any]:





  """simple docstring"""


  __UpperCAmelCase    :						Dict       =						1
  __UpperCAmelCase    :						Any       =						2
  while i * i <= n:
    __UpperCAmelCase    :						Tuple       =						0
    while n % i == 0:
      n //= i
      multiplicity += 1
    divisors_count *= multiplicity + 1
    i += 1
  if n > 1:
    divisors_count *= 2
  return divisors_count


def       lowerCamelCase_       (   )						->Optional[int]:





  """simple docstring"""


  return next(i for i in triangle_number_generator() if count_divisors(UpperCAmelCase_  ) > 5_00  )


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