

"""simple docstring"""





import os

import pytest
import yaml

from datasets.features.features import Features, Value
from datasets.info import DatasetInfo, DatasetInfosDict




@pytest.mark.parametrize(
    "files",			[
        ["full:README.md", "dataset_infos.json"],
        ["empty:README.md", "dataset_infos.json"],
        ["dataset_infos.json"],
        ["full:README.md"],
    ],			)
def   _A  (  UpperCamelCase_     :       Any,			UpperCamelCase_     :       str)	->						Optional[int]:
   '''simple docstring'''


   __lowercase								=						tmp_path_factory.mktemp("dset_infos_dir")
   if "full:README.md" in files:
      with open(dataset_infos_dir / "README.md",			"w") as f:
         f.write("---\ndataset_info:\n  dataset_size: 42\n---")
   if "empty:README.md" in files:
      with open(dataset_infos_dir / "README.md",			"w") as f:
         f.write("")
    # we want to support dataset_infos.json for backward compatibility
   if "dataset_infos.json" in files:
      with open(dataset_infos_dir / "dataset_infos.json",			"w") as f:
         f.write("{\"default\": {\"dataset_size\": 42}}")
   __lowercase								=						DatasetInfosDict.from_directory(UpperCamelCase_)
   assert dataset_infos
   assert dataset_infos["default"].dataset_size == 42




@pytest.mark.parametrize(
    "dataset_info",			[
        DatasetInfo(),
        DatasetInfo(
            description="foo",			features=Features({"a": Value("int32")}),			builder_name="builder",			config_name="config",			version="1.0.0",			splits=[{"name": "train"}],			download_size=42,			),
    ],			)
def   _A  (  UpperCamelCase_     :       Tuple,			UpperCamelCase_     :       DatasetInfo)	->						str:
   '''simple docstring'''


   __lowercase								=						str(UpperCamelCase_)
   dataset_info.write_to_directory(UpperCamelCase_)
   __lowercase								=						DatasetInfo.from_directory(UpperCamelCase_)
   assert dataset_info == reloaded
   assert os.path.exists(os.path.join(UpperCamelCase_,			"dataset_info.json"))




def   _A  (  )	->						Union[str, Any]:
   '''simple docstring'''


   __lowercase								=						DatasetInfo(
       description="foo",			citation="bar",			homepage="https://foo.bar",			license="CC0",			features=Features({"a": Value("int32")}),			post_processed={},			supervised_keys=(),			task_templates=[],			builder_name="builder",			config_name="config",			version="1.0.0",			splits=[{"name": "train", "num_examples": 42}],			download_checksums={},			download_size=1337,			post_processing_size=442,			dataset_size=1234,			size_in_bytes=1337 + 442 + 1234,			)
   __lowercase								=						dataset_info._to_yaml_dict()
   assert sorted(UpperCamelCase_) == sorted(DatasetInfo._INCLUDED_INFO_IN_YAML)
   for key in DatasetInfo._INCLUDED_INFO_IN_YAML:
      assert key in dataset_info_yaml_dict
      assert isinstance(dataset_info_yaml_dict[key],			(list, dict, int, str))
   __lowercase								=						yaml.safe_dump(UpperCamelCase_)
   __lowercase								=						yaml.safe_load(UpperCamelCase_)
   assert dataset_info_yaml_dict == reloaded




def   _A  (  )	->						Optional[Any]:
   '''simple docstring'''


   __lowercase								=						DatasetInfo()
   __lowercase								=						dataset_info._to_yaml_dict()
   assert dataset_info_yaml_dict == {}




@pytest.mark.parametrize(
    "dataset_infos_dict",			[
        DatasetInfosDict(),
        DatasetInfosDict({"default": DatasetInfo()}),
        DatasetInfosDict({"my_config_name": DatasetInfo()}),
        DatasetInfosDict(
            {
                "default": DatasetInfo(
                    description="foo",			features=Features({"a": Value("int32")}),			builder_name="builder",			config_name="config",			version="1.0.0",			splits=[{"name": "train"}],			download_size=42,			)
            }),
        DatasetInfosDict(
            {
                "v1": DatasetInfo(dataset_size=42),
                "v2": DatasetInfo(dataset_size=1337),
            }),
    ],			)
def   _A  (  UpperCamelCase_     :       List[str],			UpperCamelCase_     :       DatasetInfosDict)	->						List[str]:
   '''simple docstring'''


   __lowercase								=						str(UpperCamelCase_)
   dataset_infos_dict.write_to_directory(UpperCamelCase_)
   __lowercase								=						DatasetInfosDict.from_directory(UpperCamelCase_)

   # the config_name of the dataset_infos_dict take over the attribute
   for config_name, dataset_info in dataset_infos_dict.items():
      __lowercase								=						config_name
      # the yaml representation doesn't include fields like description or citation
      # so we just test that we can recover what we can from the yaml
      __lowercase								=						DatasetInfo._from_yaml_dict(dataset_info._to_yaml_dict())
   assert dataset_infos_dict == reloaded

   if dataset_infos_dict:
      assert os.path.exists(os.path.join(UpperCamelCase_,			"README.md"))







"""simple docstring"""





from math import sqrt




def   _A  (  UpperCamelCase_     :       int)	->						int:
   '''simple docstring'''


   __lowercase								=						0
   for i in range(1,			int(sqrt(UpperCamelCase_) + 1)):
      if n % i == 0 and i != sqrt(UpperCamelCase_):
         total += i + n // i
      elif i == sqrt(UpperCamelCase_):
         total += i
   return total - n




def   _A  (  UpperCamelCase_     :       int = 10000)	->						int:
   '''simple docstring'''


   __lowercase								=						sum(
       i
       for i in range(1,			UpperCamelCase_)
       if sum_of_divisors(sum_of_divisors(UpperCamelCase_)) == i and sum_of_divisors(UpperCamelCase_) != i)
   return total


if __name__ == "__main__":
   print(solution(int(str(input()).strip())))




