
from abc import ABC, abstractmethod
from typing import Optional, Union

from .. import Dataset, DatasetDict, Features, IterableDataset, IterableDatasetDict, NamedSplit
from ..utils.typing import NestedDataStructureLike, PathLike







class 					lowerCamelCase		(  A_  ):





     def __init__(self				:   Tuple    ,   _A				:   Optional[NestedDataStructureLike[PathLike]] = None    ,   _A				:   Optional[NamedSplit] = None    ,   _A				:   Optional[Features] = None    ,   _A				:   str = None    ,   _A				:   bool = False    ,   _A				:   bool = False    ,   _A				:   Optional[int] = None    ,   **_A				:   Optional[Any]    ,   )						->						List[str]:
         snake_case								= path_or_paths
         snake_case								= split if split or isinstance(_A    ,   _A       ) else "train"
         snake_case								= features
         snake_case								= cache_dir
         snake_case								= keep_in_memory
         snake_case								= streaming
         snake_case								= num_proc
         snake_case								= kwargs





     @abstractmethod
     def 		UpperCAmelCase(self				:   int       )						->						Union[Dataset, DatasetDict, IterableDataset, IterableDatasetDict]:
         pass







class 					lowerCamelCase		(  A_  ):





     def __init__(self				:   Dict    ,   _A				:   Optional[Features] = None    ,   _A				:   str = None    ,   _A				:   bool = False    ,   _A				:   bool = False    ,   _A				:   Optional[int] = None    ,   **_A				:   Optional[int]    ,   )						->						str:
         snake_case								= features
         snake_case								= cache_dir
         snake_case								= keep_in_memory
         snake_case								= streaming
         snake_case								= num_proc
         snake_case								= kwargs





     @abstractmethod
     def 		UpperCAmelCase(self				:   List[Any]       )						->						Union[Dataset, IterableDataset]:
         pass



def 						lowercase_      (       A__ = 1000		)							->							int:
    """simple docstring"""

    return sum(2 * a * ((a - 1) // 2) for a in range(3			,		n + 1		)		)


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

