



"""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 			_lowercase				(  __snake_case					,__snake_case	)						->   Dict:
			__lowerCAmelCase      :  Optional[Any]												=       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}}"	)
			__lowerCAmelCase      :  Dict												=       DatasetInfosDict.from_directory(__snake_case	)
			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 			_lowercase				(  __snake_case					,__snake_case	)						->   Tuple:
			__lowerCAmelCase      :  Any												=       str(__snake_case	)
			dataset_info.write_to_directory(__snake_case	)
			__lowerCAmelCase      :  List[Any]												=       DatasetInfo.from_directory(__snake_case	)
			assert dataset_info == reloaded
			assert os.path.exists(os.path.join(__snake_case					,"dataset_info.json"	)	)


def 			_lowercase				(  )						->   Optional[Any]:
			__lowerCAmelCase      :  Optional[int]												=       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=1_337					,post_processing_size=442					,dataset_size=1_234					,size_in_bytes=1_337 + 442 + 1_234					,)
			__lowerCAmelCase      :  Union[str, Any]												=       dataset_info._to_yaml_dict()
			assert sorted(__snake_case	) == 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)	)
			__lowerCAmelCase      :  List[str]												=       yaml.safe_dump(__snake_case	)
			__lowerCAmelCase      :  Dict												=       yaml.safe_load(__snake_case	)
			assert dataset_info_yaml_dict == reloaded


def 			_lowercase				(  )						->   List[str]:
			__lowerCAmelCase      :  Optional[Any]												=       DatasetInfo()
			__lowerCAmelCase      :  Any												=       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=1_337	),
            }	),
    ]					,)
def 			_lowercase				(  __snake_case					,__snake_case	)						->   int:
			__lowerCAmelCase      :  List[Any]												=       str(__snake_case	)
			dataset_infos_dict.write_to_directory(__snake_case	)
			__lowerCAmelCase      :  Union[str, Any]												=       DatasetInfosDict.from_directory(__snake_case	)

			# the config_name of the dataset_infos_dict take over the attribute
			for config_name, dataset_info in dataset_infos_dict.items():
						__lowerCAmelCase      :  Dict												=       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
						__lowerCAmelCase      :  Union[str, Any]												=       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(__snake_case					,"README.md"	)	)




"""simple docstring"""






def 			_lowercase				(  )						->   int:
			return 1


def 			_lowercase				(  __snake_case	)						->   int:
			return 0 if x < 0 else two_pence(x - 2	) + one_pence()


def 			_lowercase				(  __snake_case	)						->   int:
			return 0 if x < 0 else five_pence(x - 5	) + two_pence(__snake_case	)


def 			_lowercase				(  __snake_case	)						->   int:
			return 0 if x < 0 else ten_pence(x - 10	) + five_pence(__snake_case	)


def 			_lowercase				(  __snake_case	)						->   int:
			return 0 if x < 0 else twenty_pence(x - 20	) + ten_pence(__snake_case	)


def 			_lowercase				(  __snake_case	)						->   int:
			return 0 if x < 0 else fifty_pence(x - 50	) + twenty_pence(__snake_case	)


def 			_lowercase				(  __snake_case	)						->   int:
			return 0 if x < 0 else one_pound(x - 100	) + fifty_pence(__snake_case	)


def 			_lowercase				(  __snake_case	)						->   int:
			return 0 if x < 0 else two_pound(x - 200	) + one_pound(__snake_case	)


def 			_lowercase				(  __snake_case = 200	)						->   int:
			return two_pound(__snake_case	)


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