






def 		_a       ( a					:int      ,				a					:int					)				->     int:
 a						    = 1  # To kept the Calculated Value
 # Since C(n, k) = C(n, n-k)
 if k > (n - k):
  a						    = n - k
 # Calculate C(n,k)
 for i in range(a					):
  result *= n - i
  result //= i + 1
 return result
def 		_a       ( a					:int					)				->     int:
 return binomial_coefficient(2 * node_count      ,				a					) // (node_count + 1)
def 		_a       ( a					:int					)				->     int:
 if n < 0:
  raise ValueError('''factorial() not defined for negative values'''					)
 a						    = 1
 for i in range(1      ,				n + 1					):
  result *= i
 return result
def 		_a       ( a					:int					)				->     int:
 return catalan_number(a					) * factorial(a					)


if __name__ == "__main__":
     UpperCAmelCase__							  =						int(input("Enter the number of nodes: ").strip() or 0)
     if node_count <= 0:
          raise ValueError("We need some nodes to work with.")
     print(
         f"""Given {node_count} nodes, there are {binary_tree_count(node_count)} """
         f"""binary trees and {catalan_number(node_count)} binary search trees."""
     )










from ... import PretrainedConfig


UpperCAmelCase__							  =						{
    "sijunhe/nezha-cn-base": "https://huggingface.co/sijunhe/nezha-cn-base/resolve/main/config.json",
}






class 						lowercase_   (      lowercase  ):






      '''simple docstring'''




      __snake_case	    =    NEZHA_PRETRAINED_CONFIG_ARCHIVE_MAP
      __snake_case	    =    '''nezha'''







      def __init__( self :		Union[str, Any]					,   __UpperCAmelCase :		List[str]=21_128					,   __UpperCAmelCase :		Any=768					,   __UpperCAmelCase :		int=12					,   __UpperCAmelCase :		Optional[int]=12					,   __UpperCAmelCase :		Tuple=3_072					,   __UpperCAmelCase :		Union[str, Any]="gelu"					,   __UpperCAmelCase :		List[str]=0.1					,   __UpperCAmelCase :		Any=0.1					,   __UpperCAmelCase :		str=512					,   __UpperCAmelCase :		List[Any]=64					,   __UpperCAmelCase :		Tuple=2					,   __UpperCAmelCase :		List[Any]=0.02					,   __UpperCAmelCase :		List[str]=1e-1_2					,   __UpperCAmelCase :		int=0.1					,   __UpperCAmelCase :		Dict=0					,   __UpperCAmelCase :		Any=2					,   __UpperCAmelCase :		Optional[Any]=3					,   __UpperCAmelCase :		int=True					,   **__UpperCAmelCase :		Optional[Any]					,   )       ->Any:




       """simple docstring"""


       super().__init__(pad_token_id=__UpperCAmelCase					,   bos_token_id=__UpperCAmelCase					,   eos_token_id=__UpperCAmelCase					,   **__UpperCAmelCase    )

       a						    = vocab_size
       a						    = hidden_size
       a						    = num_hidden_layers
       a						    = num_attention_heads
       a						    = hidden_act
       a						    = intermediate_size
       a						    = hidden_dropout_prob
       a						    = attention_probs_dropout_prob
       a						    = max_position_embeddings
       a						    = max_relative_position
       a						    = type_vocab_size
       a						    = initializer_range
       a						    = layer_norm_eps
       a						    = classifier_dropout
       a						    = use_cache


