


"""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,
)


a__       :							Tuple        =  pytest.mark.integration




@pytest.mark.parametrize("path"						,		["paws", "csv"]     )
def      UpperCAmelCase__ (lowerCAmelCase_						,		lowerCAmelCase_     ):




					'''simple docstring'''


					inspect_dataset(a_						,		a_     )
					__SCREAMING_SNAKE_CASE		     =       path + '''.py'''
					assert script_name in os.listdir(a_     )
					assert "__pycache__" not in os.listdir(a_     )




@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      UpperCAmelCase__ (lowerCAmelCase_						,		lowerCAmelCase_     ):




					'''simple docstring'''


					inspect_metric(a_						,		a_     )
					__SCREAMING_SNAKE_CASE		     =       path + '''.py'''
					assert script_name in os.listdir(a_     )
					assert "__pycache__" not in os.listdir(a_     )




@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      UpperCAmelCase__ (lowerCAmelCase_						,		lowerCAmelCase_						,		lowerCAmelCase_     ):




					'''simple docstring'''


					__SCREAMING_SNAKE_CASE		     =       get_dataset_config_info(a_						,		config_name=a_     )
					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      UpperCAmelCase__ (lowerCAmelCase_						,		lowerCAmelCase_						,		lowerCAmelCase_     ):




					'''simple docstring'''


					with pytest.raises(a_     ):
										get_dataset_config_info(a_						,		config_name=a_     )




@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      UpperCAmelCase__ (lowerCAmelCase_						,		lowerCAmelCase_     ):




					'''simple docstring'''


					__SCREAMING_SNAKE_CASE		     =       get_dataset_config_names(a_     )
					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      UpperCAmelCase__ (lowerCAmelCase_						,		lowerCAmelCase_						,		lowerCAmelCase_     ):




					'''simple docstring'''


					__SCREAMING_SNAKE_CASE		     =       get_dataset_infos(a_     )
					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      UpperCAmelCase__ (lowerCAmelCase_						,		lowerCAmelCase_						,		lowerCAmelCase_     ):




					'''simple docstring'''


					__SCREAMING_SNAKE_CASE		     =       get_dataset_infos(a_     )
					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      UpperCAmelCase__ (lowerCAmelCase_						,		lowerCAmelCase_						,		lowerCAmelCase_     ):




					'''simple docstring'''


					with pytest.raises(a_     ):
										get_dataset_split_names(a_						,		config_name=a_     )




"""simple docstring"""







from __future__ import annotations




def      UpperCAmelCase__ (lowerCAmelCase_     ):




					'''simple docstring'''


					__SCREAMING_SNAKE_CASE		     =       str(lowerCAmelCase_     )
					return n == n[::-1]




def      UpperCAmelCase__ (lowerCAmelCase_ = 100_0000     ):




					'''simple docstring'''


					__SCREAMING_SNAKE_CASE		     =       0

					for i in range(1						,		lowerCAmelCase_     ):
										if is_palindrome(lowerCAmelCase_     ) and is_palindrome(bin(lowerCAmelCase_     ).split("b"     )[1]     ):
															total += i
					return total


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