





def 				_UpperCAmelCase			(    A				,							A				,							A				,							A				,							A				,							A     ):




   '''simple docstring'''

   if index == r:
      for j in range(A     ):
         print(data[j]				,							end=" "     )
      print(" "     )
      return
   #  When no more elements are there to put in data[]
   if i >= n:
      return
   # current is included, put next at next location
   UpperCAmelCase__						=arr[i]
   combination_util(A				,							A				,							A				,							index + 1				,							A				,							i + 1     )
   # current is excluded, replace it with
   # next (Note that i+1 is passed, but
   # index is not changed)
   combination_util(A				,							A				,							A				,							A				,							A				,							i + 1     )
   # The main function that prints all combinations
   # of size r in arr[] of size n. This function
   # mainly uses combinationUtil()






def 				_UpperCAmelCase			(    A				,							A				,							A     ):




   '''simple docstring'''

   UpperCAmelCase__						=[0] * r
   # Print all combination using temporary array 'data[]'
   combination_util(A				,							A				,							A				,							0				,							A				,							0     )


if __name__ == "__main__":
    # Driver code to check the function above
    UpperCamelCase_												=	[10, 20, 30, 40, 50]
    print_combination(arr, len(arr), 3)
    # This code is contributed by Ambuj sahu










from math import factorial






def 				_UpperCAmelCase			(    A = 20     ):




   '''simple docstring'''

   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(A     ) / (factorial(A     ) * factorial(n - k     ))     )


if __name__ == "__main__":
    import sys

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



