






"""simple docstring"""






from copy import deepcopy




class 							lowerCAmelCase__				:






      '''simple docstring'''

      def __init__(						self     :  int						,	lowercase_     :  list[int] | None = None						,	lowercase_     :  int | None = None):




          '''simple docstring'''


          if arr is None and size is not None:
              SCREAMING_SNAKE_CASE_      :  str    						=		size
              SCREAMING_SNAKE_CASE_      :  Tuple    						=		[0] * size
          elif arr is not None:
              self.init(lowercase_)
          else:
              raise ValueError('''Either arr or size must be specified''')
      def _SCREAMING_SNAKE_CASE (						self     :  int						,	lowercase_     :  list[int]):




          '''simple docstring'''


          SCREAMING_SNAKE_CASE_      :  List[Any]    						=		len(lowercase_)
          SCREAMING_SNAKE_CASE_      :  List[str]    						=		deepcopy(lowercase_)
          for i in range(1						,	self.size):
              SCREAMING_SNAKE_CASE_      :  List[Any]    						=		self.next_(lowercase_)
              if j < self.size:
                  self.tree[j] += self.tree[i]
      def _SCREAMING_SNAKE_CASE (						self     :  Any):




          '''simple docstring'''


          SCREAMING_SNAKE_CASE_      :  Any    						=		self.tree[:]
          for i in range(self.size - 1						,	0						,	-1):
              SCREAMING_SNAKE_CASE_      :  Optional[Any]    						=		self.next_(lowercase_)
              if j < self.size:
                  arr[j] -= arr[i]
          return arr
      @staticmethod
      def _SCREAMING_SNAKE_CASE (						lowercase_     :  int):




          '''simple docstring'''


          return index + (index & (-index))
      @staticmethod
      def _SCREAMING_SNAKE_CASE (						lowercase_     :  int):




          '''simple docstring'''


          return index - (index & (-index))
      def _SCREAMING_SNAKE_CASE (						self     :  Any						,	lowercase_     :  int						,	lowercase_     :  int):




          '''simple docstring'''


          if index == 0:
              self.tree[0] += value
              return
          while index < self.size:
              self.tree[index] += value
              SCREAMING_SNAKE_CASE_      :  Dict    						=		self.next_(lowercase_)
      def _SCREAMING_SNAKE_CASE (						self     :  Any						,	lowercase_     :  int						,	lowercase_     :  int):




          '''simple docstring'''


          self.add(lowercase_						,	value - self.get(lowercase_))
      def _SCREAMING_SNAKE_CASE (						self     :  Optional[int]						,	lowercase_     :  int):




          '''simple docstring'''


          if right == 0:
              return 0
          SCREAMING_SNAKE_CASE_      :  List[str]    						=		self.tree[0]
          right -= 1  # make right inclusive
          while right > 0:
              result += self.tree[right]
              SCREAMING_SNAKE_CASE_      :  Union[str, Any]    						=		self.prev(lowercase_)
          return result
      def _SCREAMING_SNAKE_CASE (						self     :  int						,	lowercase_     :  int						,	lowercase_     :  int):




          '''simple docstring'''


          return self.prefix(lowercase_) - self.prefix(lowercase_)
      def _SCREAMING_SNAKE_CASE (						self     :  List[str]						,	lowercase_     :  int):




          '''simple docstring'''


          return self.query(lowercase_						,	index + 1)



      def _SCREAMING_SNAKE_CASE (						self     :  List[str]						,	lowercase_     :  int):




          '''simple docstring'''


          value -= self.tree[0]
          if value < 0:
              return -1

          SCREAMING_SNAKE_CASE_      :  Optional[int]    						=		1  # Largest power of 2 <= size
          while j * 2 < self.size:
              j *= 2

          SCREAMING_SNAKE_CASE_      :  Any    						=		0

          while j > 0:
              if i + j < self.size and self.tree[i + j] <= value:
                  value -= self.tree[i + j]
                  i += j
              j //= 2
          return i


if __name__ == "__main__":
  import doctest

  doctest.testmod()










"""simple docstring"""






from math import factorial



def 					_A			(__a = 20							) ->       int:
    """simple docstring"""






    SCREAMING_SNAKE_CASE_      :  Dict    						=		2 * n  # middle entry of odd rows starting at row 3 is the solution for n = 1,
    # 2, 3,...
    SCREAMING_SNAKE_CASE_      :  List[str]    						=		n // 2

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


if __name__ == "__main__":
  import sys

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


