
'''simple docstring'''







import pytest

from datasets.splits import SplitDict, SplitInfo
from datasets.utils.py_utils import asdict
@pytest.mark.parametrize(
    '''split_dict'''      ,      [
        SplitDict(),
        SplitDict({'''train''': SplitInfo(name='''train'''      ,      num_bytes=1337      ,      num_examples=42      ,      dataset_name='''my_dataset'''							)}							),
        SplitDict({'''train''': SplitInfo(name='''train'''      ,      num_bytes=1337      ,      num_examples=42							)}							),
        SplitDict({'''train''': SplitInfo()}							),
    ]      ,      )
def 					snake_case_		(				__SCREAMING_SNAKE_CASE					: SplitDict							):



						"""simple docstring"""





						lowercase_	:     Dict													=       split_dict._to_yaml_list()
						assert len(__SCREAMING_SNAKE_CASE							) == len(__SCREAMING_SNAKE_CASE							)
						lowercase_	:     Any													=       SplitDict._from_yaml_list(__SCREAMING_SNAKE_CASE							)
						for split_name, split_info in split_dict.items():
												# dataset_name field is deprecated, and is therefore not part of the YAML dump
												lowercase_	:     str													=       None
												# the split name of split_dict takes over the name of the split info object
												lowercase_	:     Any													=       split_name
						assert split_dict == reloaded




@pytest.mark.parametrize(
    '''split_info'''      ,      [SplitInfo(), SplitInfo(dataset_name=__SCREAMING_SNAKE_CASE							), SplitInfo(dataset_name='''my_dataset'''							)]							)
def 					snake_case_		(				__SCREAMING_SNAKE_CASE					: Tuple							):



						"""simple docstring"""





						lowercase_	:     List[str]													=       asdict(SplitDict({'''train''': split_info}							)							)
						assert "dataset_name" in split_dict_asdict["train"]
						assert split_dict_asdict["train"]["dataset_name"] == split_info.dataset_name




"""simple docstring"""






def SCREAMING_SNAKE_CASE__			(   __UpperCAmelCase=2_8_1_2_3 )  ->  Any:
   lowercase__:   Optional[Any]					=      [1] * (limit + 1)

   for i in range(2       ,    int(limit**0.5 ) + 1 ):
      sum_divs[i * i] += i
      for k in range(i + 1       ,    limit // i + 1 ):
         sum_divs[k * i] += k + i

   lowercase__:   Union[str, Any]					=      set()
   lowercase__:   Optional[Any]					=      0

   for n in range(1       ,    limit + 1 ):
      if sum_divs[n] > n:
         abundants.add(__UpperCAmelCase )

      if not any((n - a in abundants) for a in abundants ):
         res += n

   return res


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