'''simple docstring'''

def __UpperCamelCase(   _A					:				int    ):
   '''simple docstring'''
   UpperCAmelCase__							:				list[list[int]]   				=  [[0 for _ in range(_A    )] for _ in range(m + 1    )]
   for i in range(m + 1    ):
      UpperCAmelCase__							:				Union[str, Any]   				=  1

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

   return memo[m][m - 1]


if __name__ == "__main__":
  import sys

  if len(sys.argv) == 1:
    try:
      UpperCamelCase__     :	List[Any]				=			int(input('Enter a number: ').strip())
      print(partition(n))
    except ValueError:
      print('Please enter a number.')
  else:
    try:
      UpperCamelCase__     :	str				=			int(sys.argv[1])
      print(partition(n))
    except ValueError:
      print('Please pass a number.')





'''simple docstring'''

import re







def __UpperCamelCase(   _A					:				str    ):
   '''simple docstring'''

   if len(re.findall('''[ATCG]'''  ,			_A    )    ) != len(_A    ):
      raise ValueError('''Invalid Strand'''    )

   return dna.translate(dna.maketrans('''ATCG'''  ,			'''TAGC'''    )    )


if __name__ == "__main__":
  import doctest

  doctest.testmod()




