from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


A_	     =   {"configuration_vit_msn": ["VIT_MSN_PRETRAINED_CONFIG_ARCHIVE_MAP", "ViTMSNConfig"]}

try:
						if not is_torch_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						A_	     =   [
						    "VIT_MSN_PRETRAINED_MODEL_ARCHIVE_LIST",
						    "ViTMSNModel",
						    "ViTMSNForImageClassification",
						    "ViTMSNPreTrainedModel",
						]

if TYPE_CHECKING:
						from .configuration_vit_msn import VIT_MSN_PRETRAINED_CONFIG_ARCHIVE_MAP, ViTMSNConfig

						try:
												if not is_torch_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .modeling_vit_msn import (
												    VIT_MSN_PRETRAINED_MODEL_ARCHIVE_LIST,
												    ViTMSNForImageClassification,
												    ViTMSNModel,
												    ViTMSNPreTrainedModel,
												)

else:
						import sys

						A_	     =   _LazyModule(__name__, globals()["__file__"], _import_structure, module_spec=__spec__)








'''simple docstring'''

def 					__UpperCamelCase				(						lowercase__    :	List[str],       lowercase__    :	Tuple			):






     '''simple docstring'''





     __lowercase      		=[0 for i in range(r + 1			)]
     # nc0 = 1
     __lowercase      		=1
     for i in range(1,       n + 1			):
          # to compute current row from previous row.
          __lowercase      		=min(lowercase__,       lowercase__			)
          while j > 0:
               c[j] += c[j - 1]
               j -= 1
     return c[r]







print(binomial_coefficient(n=10, r=5))


