



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


a_								=       logging.get_logger(__name__)

a_								=       {
    """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 			__lowerCAmelCase  (						__lowercase ):
 lowerCAmelCase__							       =	"funnel"
 lowerCAmelCase__							       =	{
     "hidden_size": "d_model",
     "num_attention_heads": "n_head",
 }




 def __init__(    self						,					__UpperCAmelCase=30522						,					__UpperCAmelCase=[4, 4, 4]						,					__UpperCAmelCase=None						,					__UpperCAmelCase=2						,					__UpperCAmelCase=768						,					__UpperCAmelCase=12						,					__UpperCAmelCase=64						,					__UpperCAmelCase=3072						,					__UpperCAmelCase="gelu_new"						,					__UpperCAmelCase=0.1						,					__UpperCAmelCase=0.1						,					__UpperCAmelCase=0.0						,					__UpperCAmelCase=0.1						,					__UpperCAmelCase=None						,					__UpperCAmelCase=1E-9						,					__UpperCAmelCase="mean"						,					__UpperCAmelCase="relative_shift"						,					__UpperCAmelCase=True						,					__UpperCAmelCase=True						,					__UpperCAmelCase=True						,					**__UpperCAmelCase						,					):



    '''simple docstring'''
    __lowerCamelCase    				=     vocab_size
    __lowerCamelCase    				=     block_sizes
    __lowerCamelCase    				=     [1] * len(_a					) if block_repeats is None else block_repeats
    assert len(_a					) == 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__(**_a					)




 @property
 def 							lowerCamelCase   (    self					):



    '''simple docstring'''
    return sum(self.block_sizes					)




 @num_hidden_layers.setter
 def 							lowerCamelCase   (    self						,					__UpperCAmelCase					):



    '''simple docstring'''
    raise NotImplementedError(
        '''This model does not support the setting of `num_hidden_layers`. Please set `block_sizes`.'''					)




 @property
 def 							lowerCamelCase   (    self					):



    '''simple docstring'''
    return len(self.block_sizes					)




 @num_blocks.setter
 def 							lowerCamelCase   (    self						,					__UpperCAmelCase					):



    '''simple docstring'''
    raise NotImplementedError('''This model does not support the setting of `num_blocks`. Please set `block_sizes`.'''					)









def   __UpperCAmelCase					(      __a :     str      )     ->	list:

					"""simple docstring"""

					if n_term == "":
										return []
					_a      :       list   =						[]
					for temp in range(int(__a      )      ):
										series.append(F"""1/{temp + 1}""" if series else '''1'''      )
					return series


if __name__ == "__main__":
			a__												=						input('''Enter the last number (nth term) of the Harmonic Series''')
			print('''Formula of Harmonic Series => 1+1/2+1/3 ..... 1/n''')
			print(harmonic_series(nth_term))



