




"""simple docstring"""


from __future__ import annotations

import numpy as np


def 					UpperCAmelCase__       (snake_case__							:					np.ndarray    ):
  """simple docstring"""

  _snake_case		,					_snake_case							:		str								=  np.shape(snake_case__    )
  if rows != columns:
    _snake_case							:		Any								=  (
        """'table' has to be of square shaped array but got a """
        F"{rows}x{columns} array:\n{table}"
    )
    raise ValueError(snake_case__    )

  _snake_case							:		List[Any]								=  np.zeros((rows, columns)    )
  _snake_case							:		List[Any]								=  np.zeros((rows, columns)    )
  for i in range(snake_case__    ):
    for j in range(snake_case__    ):
      _snake_case							:		Optional[Any]								=  sum(lower[i][k] * upper[k][j] for k in range(snake_case__    )    )
      if upper[j][j] == 0:
        raise ArithmeticError("""No LU decomposition exists"""    )
      _snake_case							:		Any								=  (table[i][j] - total) / upper[j][j]
    _snake_case							:		Union[str, Any]								=  1
    for j in range(snake_case__		,   snake_case__    ):
      _snake_case							:		Optional[Any]								=  sum(lower[i][k] * upper[k][j] for k in range(snake_case__    )    )
      _snake_case							:		Tuple								=  table[i][j] - total
  return lower, upper


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


