
"""simple docstring"""






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 			_SCREAMING_SNAKE_CASE					(			A__							):






			def __init__(					self       ,   __A = None       ,   __A = None       ,   __A = None       ,   __A = None       ,   __A = False       ,   __A = False       ,   __A = None       ,   **__A       ,   )			->     List[str]:
						lowerCAmelCase_    :List[str]			     =  path_or_paths
						lowerCAmelCase_    :int			     =  split if split or isinstance(__A       ,   __A       ) else """train"""
						lowerCAmelCase_    :Tuple			     =  features
						lowerCAmelCase_    :str			     =  cache_dir
						lowerCAmelCase_    :int			     =  keep_in_memory
						lowerCAmelCase_    :Tuple			     =  streaming
						lowerCAmelCase_    :Optional[int]			     =  num_proc
						lowerCAmelCase_    :Optional[int]			     =  kwargs






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




class 			_SCREAMING_SNAKE_CASE					(			A__							):






			def __init__(					self       ,   __A = None       ,   __A = None       ,   __A = False       ,   __A = False       ,   __A = None       ,   **__A       ,   )			->     int:
						lowerCAmelCase_    :List[Any]			     =  features
						lowerCAmelCase_    :str			     =  cache_dir
						lowerCAmelCase_    :List[str]			     =  keep_in_memory
						lowerCAmelCase_    :Union[str, Any]			     =  streaming
						lowerCAmelCase_    :List[Any]			     =  num_proc
						lowerCAmelCase_    :List[str]			     =  kwargs






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














"""simple docstring"""


from __future__ import annotations

from typing import Any



def 					lowerCAmelCase				(    __UpperCamelCase ):




  """simple docstring"""







  if not postfix_notation:
    return 0

  __A									= {'''+''', '''-''', '''*''', '''/'''}
  __A									= []

  for token in postfix_notation:
    if token in operations:
      __A			,    __A									= stack.pop(), stack.pop()
      if token == "+":
        stack.append(a + b )
      elif token == "-":
        stack.append(a - b )
      elif token == "*":
        stack.append(a * b )
      else:
        if a * b < 0 and a % b != 0:
          stack.append(a // b + 1 )
        else:
          stack.append(a // b )
    else:
      stack.append(int(__UpperCamelCase ) )

  return stack.pop()


if __name__ == "__main__":
       import doctest

       doctest.testmod()




