

"""simple docstring"""




def   lowerCAmelCase						(					__UpperCamelCase							,    __UpperCamelCase      ):
 '''simple docstring'''





 UpperCAmelCase__					:  Optional[Any]					   =					1  # To kept the Calculated Value
 # Since C(n, k) = C(n, n-k)
 if k > (n - k):
  UpperCAmelCase__					:  Optional[Any]					   =					n - k
 # Calculate C(n,k)
 for i in range(__UpperCamelCase      ):
  result *= n - i
  result //= i + 1
 return result
def   lowerCAmelCase						(					__UpperCamelCase      ):
 '''simple docstring'''





 return binomial_coefficient(2 * node_count							,    __UpperCamelCase      ) // (node_count + 1)
def   lowerCAmelCase						(					__UpperCamelCase      ):
 '''simple docstring'''





 if n < 0:
  raise ValueError("""factorial() not defined for negative values"""      )
 UpperCAmelCase__					:  int					   =					1
 for i in range(1							,    n + 1      ):
  result *= i
 return result
def   lowerCAmelCase						(					__UpperCamelCase      ):
 '''simple docstring'''





 return catalan_number(__UpperCamelCase      ) * factorial(__UpperCamelCase      )


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."
    )








"""simple docstring"""




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


__UpperCAmelCase =				logging.get_logger(__name__)







class      __lowercase			(    __lowerCamelCase					):
  snake_case_				       =       """timm_backbone"""

  def __init__(  self		:			List[str]					,A		:			Any=None					,A		:			List[Any]=3					,A		:			Any=True					,A		:			Union[str, Any]=True					,A		:			List[Any]=None					,**A		:			Optional[int]					,):






   '''simple docstring'''
   super().__init__(**A    )
   UpperCAmelCase__					:  Optional[int]					   =					backbone
   UpperCAmelCase__					:  Dict					   =					num_channels
   UpperCAmelCase__					:  Optional[int]					   =					features_only
   UpperCAmelCase__					:  Tuple					   =					use_pretrained_backbone
   UpperCAmelCase__					:  str					   =					True
   UpperCAmelCase__					:  List[str]					   =					out_indices if out_indices is not None else (-1,)





