



from typing import Callable, Optional

from .. import Features
from ..packaged_modules.generator.generator import Generator
from .abc import AbstractDatasetInputStream


class   __lowerCAmelCase  (		UpperCAmelCase_   ):
					"""simple docstring"""






					def __init__(  self       :							Tuple					,       _snake_case       :							Callable					,       _snake_case       :							Optional[Features] = None					,       _snake_case       :							str = None					,       _snake_case       :							bool = False					,       _snake_case       :							bool = False					,       _snake_case       :							Optional[dict] = None					,       _snake_case       :							Optional[int] = None					,       **_snake_case       :							Dict					,       ):






								"""simple docstring"""


								super().__init__(
								    features=_snake_case					,       cache_dir=_snake_case					,       keep_in_memory=_snake_case					,       streaming=_snake_case					,       num_proc=_snake_case					,       **_snake_case					,       )
								A__	  =     Generator(
								    cache_dir=_snake_case					,       features=_snake_case					,       generator=_snake_case					,       gen_kwargs=_snake_case					,       **_snake_case					,       )



					def      _a				(  self       :							Optional[int]       ):






								"""simple docstring"""


								if self.streaming:
											A__	  =     self.builder.as_streaming_dataset(split='train'       )
								# Build regular (map-style) dataset
								else:
											A__	  =     None
											A__	  =     None
											A__	  =     None
											A__	  =     None

											self.builder.download_and_prepare(
											    download_config=_snake_case					,       download_mode=_snake_case					,       verification_mode=_snake_case					,       base_path=_snake_case					,       num_proc=self.num_proc					,       )
											A__	  =     self.builder.as_dataset(
											    split='train'					,       verification_mode=_snake_case					,       in_memory=self.keep_in_memory       )
								return dataset







def 					_UpperCAmelCase				(						a__  ,	a__):

			'''simple docstring'''



			return x if y == 0 else greatest_common_divisor(a__  ,	x % y)


def 					_UpperCAmelCase				(						a__  ,	a__):

			'''simple docstring'''



			return (x * y) // greatest_common_divisor(a__  ,	a__)


def 					_UpperCAmelCase				(						a__ = 2_0):

			'''simple docstring'''



			a_						:						Any 							= 1
			for i in range(1  ,	n + 1):
						a_						:						Tuple 							= lcm(a__  ,	a__)
			return g


if __name__ == "__main__":
	print(F"""{solution() = }""")


