

"""simple docstring"""




from ...configuration_utils import PretrainedConfig
from ...utils import logging


SCREAMING_SNAKE_CASE_     :			List[Any]	  =						logging.get_logger(__name__)

SCREAMING_SNAKE_CASE_     :			Dict	  =						{
    '''funnel-transformer/small''': '''https://huggingface.co/funnel-transformer/small/resolve/main/config.json''',
    '''funnel-transformer/small-base''': '''https://huggingface.co/funnel-transformer/small-base/resolve/main/config.json''',
    '''funnel-transformer/medium''': '''https://huggingface.co/funnel-transformer/medium/resolve/main/config.json''',
    '''funnel-transformer/medium-base''': '''https://huggingface.co/funnel-transformer/medium-base/resolve/main/config.json''',
    '''funnel-transformer/intermediate''': (
        '''https://huggingface.co/funnel-transformer/intermediate/resolve/main/config.json'''
    ),
    '''funnel-transformer/intermediate-base''': (
        '''https://huggingface.co/funnel-transformer/intermediate-base/resolve/main/config.json'''
    ),
    '''funnel-transformer/large''': '''https://huggingface.co/funnel-transformer/large/resolve/main/config.json''',
    '''funnel-transformer/large-base''': '''https://huggingface.co/funnel-transformer/large-base/resolve/main/config.json''',
    '''funnel-transformer/xlarge''': '''https://huggingface.co/funnel-transformer/xlarge/resolve/main/config.json''',
    '''funnel-transformer/xlarge-base''': '''https://huggingface.co/funnel-transformer/xlarge-base/resolve/main/config.json''',
}


class 		_A       (			a__					):
      __a								=	"""funnel"""
      __a								=	{
          """hidden_size""": """d_model""",
          """num_attention_heads""": """n_head""",
      }





      def __init__(  self    ,						SCREAMING_SNAKE_CASE__=30522    ,						SCREAMING_SNAKE_CASE__=[4, 4, 4]    ,						SCREAMING_SNAKE_CASE__=None    ,						SCREAMING_SNAKE_CASE__=2    ,						SCREAMING_SNAKE_CASE__=768    ,						SCREAMING_SNAKE_CASE__=12    ,						SCREAMING_SNAKE_CASE__=64    ,						SCREAMING_SNAKE_CASE__=3072    ,						SCREAMING_SNAKE_CASE__="gelu_new"    ,						SCREAMING_SNAKE_CASE__=0.1    ,						SCREAMING_SNAKE_CASE__=0.1    ,						SCREAMING_SNAKE_CASE__=0.0    ,						SCREAMING_SNAKE_CASE__=0.1    ,						SCREAMING_SNAKE_CASE__=None    ,						SCREAMING_SNAKE_CASE__=1e-9    ,						SCREAMING_SNAKE_CASE__="mean"    ,						SCREAMING_SNAKE_CASE__="relative_shift"    ,						SCREAMING_SNAKE_CASE__=True    ,						SCREAMING_SNAKE_CASE__=True    ,						SCREAMING_SNAKE_CASE__=True    ,						**SCREAMING_SNAKE_CASE__    ,						)   ->					int:
         lowerCamelCase__						=			vocab_size
         lowerCamelCase__						=			block_sizes
         lowerCamelCase__						=			[1] * len(lowerCAmelCase__		) if block_repeats is None else block_repeats
         assert len(lowerCAmelCase__		) == len(
             self.block_repeats		), "`block_sizes` and `block_repeats` should have the same length."
         lowerCamelCase__						=			num_decoder_layers
         lowerCamelCase__						=			d_model
         lowerCamelCase__						=			n_head
         lowerCamelCase__						=			d_head
         lowerCamelCase__						=			d_inner
         lowerCamelCase__						=			hidden_act
         lowerCamelCase__						=			hidden_dropout
         lowerCamelCase__						=			attention_dropout
         lowerCamelCase__						=			activation_dropout
         lowerCamelCase__						=			initializer_range
         lowerCamelCase__						=			initializer_std
         lowerCamelCase__						=			layer_norm_eps
         assert pooling_type in [
             "mean",
             "max",
         ], f'Got {pooling_type} for `pooling_type` but only \'mean\' and \'max\' are supported.'
         lowerCamelCase__						=			pooling_type
         assert attention_type in [
             "relative_shift",
             "factorized",
         ], f'Got {attention_type} for `attention_type` but only \'relative_shift\' and \'factorized\' are supported.'
         lowerCamelCase__						=			attention_type
         lowerCamelCase__						=			separate_cls
         lowerCamelCase__						=			truncate_seq
         lowerCamelCase__						=			pool_q_only

         super().__init__(**lowerCAmelCase__		)





      @property
      def 					_lowerCamelCase  (  self		)   ->					Tuple:
         return sum(self.block_sizes		)





      @num_hidden_layers.setter
      def 					_lowerCamelCase  (  self    ,						SCREAMING_SNAKE_CASE__		)   ->					List[Any]:
         raise NotImplementedError(
             "This model does not support the setting of `num_hidden_layers`. Please set `block_sizes`."		)





      @property
      def 					_lowerCamelCase  (  self		)   ->					Any:
         return len(self.block_sizes		)





      @num_blocks.setter
      def 					_lowerCamelCase  (  self    ,						SCREAMING_SNAKE_CASE__		)   ->					List[str]:
         raise NotImplementedError("This model does not support the setting of `num_blocks`. Please set `block_sizes`."		)







"""simple docstring"""




import operator as op



def 	UpperCAmelCase__   (				A__   )      ->      Dict:




   """simple docstring"""
   lowerCamelCase__						=			[]
   lowerCamelCase__						=			lambda A__	,    A__   : int(x / y   )  # noqa: E731 integer division operation
   lowerCamelCase__						=			{
       "^": op.pow,
       "*": op.mul,
       "/": div,
       "+": op.add,
       "-": op.sub,
   }  # operators & their respective operation

   # print table header
   print("Symbol".center(8   )	,    "Action".center(12   )	,    "Stack"	,    sep=" | "   )
   print("-" * (30 + len(A__   ))   )

   for x in post_fix:
      if x.isdigit():  # if x in digit
         stack.append(A__   )  # append x to stack
         # output in tabular format
         print(x.rjust(8   )	,    ("push(" + x + ")").ljust(12   )	,    ",".join(A__   )	,    sep=" | "   )
      else:
         lowerCamelCase__						=			stack.pop()  # pop stack
         # output in tabular format
         print("".rjust(8   )	,    ("pop(" + b + ")").ljust(12   )	,    ",".join(A__   )	,    sep=" | "   )

         lowerCamelCase__						=			stack.pop()  # pop stack
         # output in tabular format
         print("".rjust(8   )	,    ("pop(" + a + ")").ljust(12   )	,    ",".join(A__   )	,    sep=" | "   )

         stack.append(
             str(opr[x](int(A__   )	,    int(A__   )   )   )   )  # evaluate the 2 values popped from stack & push result to stack
         # output in tabular format
         print(
             x.rjust(8   )	,    ("push(" + a + x + b + ")").ljust(12   )	,    ",".join(A__   )	,    sep=" | "	,    )

   return int(stack[0]   )


if __name__ == "__main__":
     SCREAMING_SNAKE_CASE_     :			Tuple	  =			input('''\n\nEnter a Postfix Equation (space separated) = ''').split(''' ''')
     print('''\n\tResult = ''', solve(Postfix))




