






"""simple docstring"""
from typing import Optional

from .. import Features, NamedSplit
from ..packaged_modules.text.text import Text
from ..utils.typing import NestedDataStructureLike, PathLike
from .abc import AbstractDatasetReader


class _lowerCAmelCase						(    __UpperCAmelCase       ):







						def __init__(    self   ,				lowerCAmelCase_   ,				lowerCAmelCase_ = None   ,				lowerCAmelCase_ = None   ,				lowerCAmelCase_ = None   ,				lowerCAmelCase_ = False   ,				lowerCAmelCase_ = False   ,				lowerCAmelCase_ = None   ,				**lowerCAmelCase_   ,				)		->							Tuple:
										super().__init__(
										    lowerCAmelCase_   ,				split=lowerCAmelCase_   ,				features=lowerCAmelCase_   ,				cache_dir=lowerCAmelCase_   ,				keep_in_memory=lowerCAmelCase_   ,				streaming=lowerCAmelCase_   ,				num_proc=lowerCAmelCase_   ,				**lowerCAmelCase_   ,				)
										_SCREAMING_SNAKE_CASE   :		str       		=    path_or_paths if isinstance(lowerCAmelCase_   ,				lowerCAmelCase_							) else {self.split: path_or_paths}
										_SCREAMING_SNAKE_CASE   :		List[Any]       		=    Text(
										    cache_dir=lowerCAmelCase_   ,				data_files=lowerCAmelCase_   ,				features=lowerCAmelCase_   ,				**lowerCAmelCase_   ,				)







						def 			A      (    self							)		->							Optional[int]:
										# Build iterable dataset
										if self.streaming:
														_SCREAMING_SNAKE_CASE   :		Any       		=    self.builder.as_streaming_dataset(split=self.split							)
										# Build regular (map-style) dataset
										else:
														_SCREAMING_SNAKE_CASE   :		int       		=    None
														_SCREAMING_SNAKE_CASE   :		List[str]       		=    None
														_SCREAMING_SNAKE_CASE   :		List[str]       		=    None
														_SCREAMING_SNAKE_CASE   :		Union[str, Any]       		=    None

														self.builder.download_and_prepare(
														    download_config=lowerCAmelCase_   ,				download_mode=lowerCAmelCase_   ,				verification_mode=lowerCAmelCase_   ,				base_path=lowerCAmelCase_   ,				num_proc=self.num_proc   ,				)
														_SCREAMING_SNAKE_CASE   :		str       		=    self.builder.as_dataset(
														    split=self.split   ,				verification_mode=lowerCAmelCase_   ,				in_memory=self.keep_in_memory							)
										return dataset









"""simple docstring"""
def 				lowercase__		(					lowerCamelCase,						lowerCamelCase       ):
				return abs(lowerCamelCase       ) if a == 0 else greatest_common_divisor(b % a,						lowerCamelCase       )





def 				lowercase__		(					lowerCamelCase,						lowerCamelCase       ):
				while y:  # --> when y=0 then loop will terminate and return x as final GCD.
								_SCREAMING_SNAKE_CASE		,						_SCREAMING_SNAKE_CASE   :		Optional[Any]       		=    y, x % y
				return abs(lowerCamelCase       )





def 				lowercase__		(					):
				try:
								_SCREAMING_SNAKE_CASE   :		Union[str, Any]       		=    input('Enter two integers separated by comma (,): '       ).split(','       )
								_SCREAMING_SNAKE_CASE   :		Dict       		=    int(nums[0]       )
								_SCREAMING_SNAKE_CASE   :		Dict       		=    int(nums[1]       )
								print(
								    f"""greatest_common_divisor({num_a}, {num_a}) = """
								    f"""{greatest_common_divisor(lowerCamelCase,						lowerCamelCase       )}"""       )
								print(f"""By iterative gcd({num_a}, {num_a}) = {gcd_by_iterative(lowerCamelCase,						lowerCamelCase       )}"""       )
				except (IndexError, UnboundLocalError, ValueError):
								print('Wrong input'       )


if __name__ == "__main__":
			main()

