


"""simple docstring"""






import os

import pytest

from datasets import (
    get_dataset_config_info,
    get_dataset_config_names,
    get_dataset_infos,
    get_dataset_split_names,
    inspect_dataset,
    inspect_metric,
)


_lowerCamelCase     =  pytest.mark.integration


@pytest.mark.parametrize("path"						,					["paws", "csv"]  )
def __lowercase     (      lowerCamelCase_  :      Optional[Any]						,					lowerCamelCase_  :      List[str]  ):
				inspect_dataset(lowerCamelCase_						,					lowerCamelCase_  )
				SCREAMING_SNAKE_CASE__     							=				path + ".py"
				assert script_name in os.listdir(lowerCamelCase_  )
				assert "__pycache__" not in os.listdir(lowerCamelCase_  )


@pytest.mark.filterwarnings("ignore:inspect_metric is deprecated:FutureWarning"  )
@pytest.mark.filterwarnings("ignore:metric_module_factory is deprecated:FutureWarning"  )
@pytest.mark.parametrize("path"						,					["accuracy"]  )
def __lowercase     (      lowerCamelCase_  :      int						,					lowerCamelCase_  :      List[Any]  ):
				inspect_metric(lowerCamelCase_						,					lowerCamelCase_  )
				SCREAMING_SNAKE_CASE__     							=				path + ".py"
				assert script_name in os.listdir(lowerCamelCase_  )
				assert "__pycache__" not in os.listdir(lowerCamelCase_  )


@pytest.mark.parametrize(
    "path, config_name, expected_splits"						,					[
        ("squad", "plain_text", ["train", "validation"]),
        ("dalle-mini/wit", "dalle-mini--wit", ["train"]),
        ("paws", "labeled_final", ["train", "test", "validation"]),
    ]						,					)
def __lowercase     (      lowerCamelCase_  :      Union[str, Any]						,					lowerCamelCase_  :      List[str]						,					lowerCamelCase_  :      Any  ):
				SCREAMING_SNAKE_CASE__     							=				get_dataset_config_info(lowerCamelCase_						,					config_name=lowerCamelCase_  )
				assert info.config_name == config_name
				assert list(info.splits.keys()  ) == expected_splits


@pytest.mark.parametrize(
    "path, config_name, expected_exception"						,					[
        ("paws", None, ValueError),
    ]						,					)
def __lowercase     (      lowerCamelCase_  :      List[str]						,					lowerCamelCase_  :      Optional[int]						,					lowerCamelCase_  :      Optional[Any]  ):
				with pytest.raises(lowerCamelCase_  ):
								get_dataset_config_info(lowerCamelCase_						,					config_name=lowerCamelCase_  )


@pytest.mark.parametrize(
    "path, expected"						,					[
        ("squad", "plain_text"),
        ("acronym_identification", "default"),
        ("lhoestq/squad", "plain_text"),
        ("lhoestq/test", "default"),
        ("lhoestq/demo1", "lhoestq--demo1"),
        ("dalle-mini/wit", "dalle-mini--wit"),
    ]						,					)
def __lowercase     (      lowerCamelCase_  :      Dict						,					lowerCamelCase_  :      Union[str, Any]  ):
				SCREAMING_SNAKE_CASE__     							=				get_dataset_config_names(lowerCamelCase_  )
				assert expected in config_names


@pytest.mark.parametrize(
    "path, expected_configs, expected_splits_in_first_config"						,					[
        ("squad", ["plain_text"], ["train", "validation"]),
        ("dalle-mini/wit", ["dalle-mini--wit"], ["train"]),
        ("paws", ["labeled_final", "labeled_swap", "unlabeled_final"], ["train", "test", "validation"]),
    ]						,					)
def __lowercase     (      lowerCamelCase_  :      Any						,					lowerCamelCase_  :      Optional[Any]						,					lowerCamelCase_  :      Tuple  ):
				SCREAMING_SNAKE_CASE__     							=				get_dataset_infos(lowerCamelCase_  )
				assert list(infos.keys()  ) == expected_configs
				SCREAMING_SNAKE_CASE__     							=				expected_configs[0]
				assert expected_config in infos
				SCREAMING_SNAKE_CASE__     							=				infos[expected_config]
				assert info.config_name == expected_config
				assert list(info.splits.keys()  ) == expected_splits_in_first_config


@pytest.mark.parametrize(
    "path, expected_config, expected_splits"						,					[
        ("squad", "plain_text", ["train", "validation"]),
        ("dalle-mini/wit", "dalle-mini--wit", ["train"]),
        ("paws", "labeled_final", ["train", "test", "validation"]),
    ]						,					)
def __lowercase     (      lowerCamelCase_  :      str						,					lowerCamelCase_  :      str						,					lowerCamelCase_  :      str  ):
				SCREAMING_SNAKE_CASE__     							=				get_dataset_infos(lowerCamelCase_  )
				assert expected_config in infos
				SCREAMING_SNAKE_CASE__     							=				infos[expected_config]
				assert info.config_name == expected_config
				assert list(info.splits.keys()  ) == expected_splits


@pytest.mark.parametrize(
    "path, config_name, expected_exception"						,					[
        ("paws", None, ValueError),
    ]						,					)
def __lowercase     (      lowerCamelCase_  :      List[Any]						,					lowerCamelCase_  :      Dict						,					lowerCamelCase_  :      List[Any]  ):
				with pytest.raises(lowerCamelCase_  ):
								get_dataset_split_names(lowerCamelCase_						,					config_name=lowerCamelCase_  )




"""simple docstring"""






from math import factorial


def __lowercase     (      lowerCamelCase_  :      int = 100  ):
				return sum(int(lowerCamelCase_  ) for x in str(factorial(lowerCamelCase_  )  )  )


if __name__ == "__main__":
	print(solution(int(input('Enter the Number: ').strip())))
