


from dataclasses import dataclass
from typing import Callable, Optional

import datasets

@dataclass
class      __snake_case				(   datasets.BuilderConfig):
					SCREAMING_SNAKE_CASE_		:       Optional[int]								=			None
					SCREAMING_SNAKE_CASE_		:       Dict								=			None
					SCREAMING_SNAKE_CASE_		:       List[Any]								=			None
					def 	a			(						self       :						Tuple  )							->					List[str]:



											'''simple docstring'''





											assert self.generator is not None, "generator must be specified"

											if self.gen_kwargs is None:
																	__magic_name__					=      {}







class      __snake_case				(   datasets.GeneratorBasedBuilder):
					SCREAMING_SNAKE_CASE_		:       int								=			GeneratorConfig
					def 	a			(						self       :						int  )							->					Tuple:



											'''simple docstring'''





											return datasets.DatasetInfo(features=self.config.features  )
					def 	a			(						self       :						str	,      _lowerCAmelCase       :						List[str]  )							->					Dict:



											'''simple docstring'''





											return [datasets.SplitGenerator(name=datasets.Split.TRAIN	,      gen_kwargs=self.config.gen_kwargs  )]







					def 	a			(						self       :						Tuple	,      **_lowerCAmelCase       :						List[str]  )							->					Optional[int]:



											'''simple docstring'''





											for idx, ex in enumerate(self.config.generator(**_lowerCAmelCase  )  ):
																	yield idx, ex








def        __SCREAMING_SNAKE_CASE	(				__lowercase:		int):



  '''simple docstring'''






  if not isinstance(__lowercase  ,				__lowercase):
    __lowerCAmelCase								=					F'''Input value of [number={number}] must be an integer'''
    raise TypeError(__lowercase)
  if number < 0 or number % 2 == 1:
    return False
  __lowerCAmelCase								=					int(number**0.5)
  return number == number_sqrt * (number_sqrt + 1)


if __name__ == "__main__":
      import doctest

      doctest.testmod()
