



from math import factorial







def snake_case__  (			__SCREAMING_SNAKE_CASE = 20 )		->							int:
  UpperCAmelCase_						=				2 * n  # middle entry of odd rows starting at row 3 is the solution for n = 1,
  # 2, 3,...
  UpperCAmelCase_						=				n // 2

  return int(factorial(_SCREAMING_SNAKE_CASE ) / (factorial(_SCREAMING_SNAKE_CASE ) * factorial(n - k )) )


if __name__ == "__main__":
   import sys

   if len(sys.argv) == 1:
      print(solution(20))
   else:
      try:
         SCREAMING_SNAKE_CASE     				=						int(sys.argv[1])
         print(solution(n))
      except ValueError:
         print("Invalid entry - please enter a number.")






from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_sentencepiece_available,
    is_tokenizers_available,
    is_torch_available,
)


SCREAMING_SNAKE_CASE     				=						{"configuration_fnet": ["FNET_PRETRAINED_CONFIG_ARCHIVE_MAP", "FNetConfig"]}

try:
			if not is_sentencepiece_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			SCREAMING_SNAKE_CASE     				=						["FNetTokenizer"]

try:
			if not is_tokenizers_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			SCREAMING_SNAKE_CASE     				=						["FNetTokenizerFast"]

try:
			if not is_torch_available():
						raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
			pass
else:
			SCREAMING_SNAKE_CASE     				=						[
			    "FNET_PRETRAINED_MODEL_ARCHIVE_LIST",
			    "FNetForMaskedLM",
			    "FNetForMultipleChoice",
			    "FNetForNextSentencePrediction",
			    "FNetForPreTraining",
			    "FNetForQuestionAnswering",
			    "FNetForSequenceClassification",
			    "FNetForTokenClassification",
			    "FNetLayer",
			    "FNetModel",
			    "FNetPreTrainedModel",
			]


if TYPE_CHECKING:
			from .configuration_fnet import FNET_PRETRAINED_CONFIG_ARCHIVE_MAP, FNetConfig

			try:
						if not is_sentencepiece_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .tokenization_fnet import FNetTokenizer

			try:
						if not is_tokenizers_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .tokenization_fnet_fast import FNetTokenizerFast

			try:
						if not is_torch_available():
									raise OptionalDependencyNotAvailable()
			except OptionalDependencyNotAvailable:
						pass
			else:
						from .modeling_fnet import (
						    FNET_PRETRAINED_MODEL_ARCHIVE_LIST,
						    FNetForMaskedLM,
						    FNetForMultipleChoice,
						    FNetForNextSentencePrediction,
						    FNetForPreTraining,
						    FNetForQuestionAnswering,
						    FNetForSequenceClassification,
						    FNetForTokenClassification,
						    FNetLayer,
						    FNetModel,
						    FNetPreTrainedModel,
						)


else:
			import sys

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

