
'''simple docstring'''

from __future__ import annotations


def 		_UpperCAmelCase			(					_lowerCamelCase  :    list					, _lowerCamelCase  :    list						)      ->  list:
  _lowerCAmelCase    :					str							=   [None] * (len(_lowerCamelCase						) + len(_lowerCamelCase						))

  _lowerCAmelCase    :					Dict							=   0  # pointer to current index for left Half
  _lowerCAmelCase    :					str							=   0  # pointer to current index for the right Half
  _lowerCAmelCase    :					Any							=   0  # pointer to current index for the sorted array Half

  while pointera < len(_lowerCamelCase						) and pointera < len(_lowerCamelCase						):
    if left_half[pointera] < right_half[pointera]:
      _lowerCAmelCase    :					Optional[Any]							=   left_half[pointera]
      pointera += 1
      index += 1
    else:
      _lowerCAmelCase    :					Union[str, Any]							=   right_half[pointera]
      pointera += 1
      index += 1
  while pointera < len(_lowerCamelCase						):
    _lowerCAmelCase    :					Optional[int]							=   left_half[pointera]
    pointera += 1
    index += 1

  while pointera < len(_lowerCamelCase						):
    _lowerCAmelCase    :					Optional[int]							=   right_half[pointera]
    pointera += 1
    index += 1

  return sorted_array


def 		_UpperCAmelCase			(					_lowerCamelCase  :    list						)      ->  list:
  if len(_lowerCamelCase						) <= 1:
    return array
  # the actual formula to calculate the middle element = left + (right - left) // 2
  # this avoids integer overflow in case of large N
  _lowerCAmelCase    :					Union[str, Any]							=   0 + (len(_lowerCamelCase						) - 0) // 2

  # Split the array into halves till the array length becomes equal to One
  # merge the arrays of single length returned by mergeSort function and
  # pass them into the merge arrays function which merges the array
  _lowerCAmelCase    :					Dict							=   array[:middle]
  _lowerCAmelCase    :					Optional[int]							=   array[middle:]

  return merge(merge_sort(_lowerCamelCase						)					, merge_sort(_lowerCamelCase						)						)


if __name__ == "__main__":
     import doctest

     doctest.testmod()




'''simple docstring'''

def 		_UpperCAmelCase			(					_lowerCamelCase  :    int = 1_00						)      ->  int:
  _lowerCAmelCase    :					Dict							=   [[0 for _ in range(_lowerCamelCase						)] for _ in range(m + 1						)]
  for i in range(m + 1						):
    _lowerCAmelCase    :					List[str]							=   1

  for n in range(m + 1						):
    for k in range(1					, _lowerCamelCase						):
      memo[n][k] += memo[n][k - 1]
      if n > k:
        memo[n][k] += memo[n - k - 1][k]

  return memo[m][m - 1] - 1


if __name__ == "__main__":
     print(solution(int(input("""Enter a number: """).strip())))


