



import warnings

from ...processing_utils import ProcessorMixin
from ...tokenization_utils_base import BatchEncoding





class    __lowerCAmelCase					(	lowerCamelCase__			):
				__lowerCamelCase					=							['''image_processor''', '''tokenizer''']
				__lowerCamelCase					=							'''AutoImageProcessor'''
				__lowerCamelCase					=							'''AutoTokenizer'''




				def __init__(				self		,							_snake_case=None		,							_snake_case=None		,							**_snake_case						):



									"""simple docstring"""





									_lowerCAmelCase         =       None
									if "feature_extractor" in kwargs:
														warnings.warn(
														    """The `feature_extractor` argument is deprecated and will be removed in v5, use `image_processor`"""
														    """ instead."""		,							_snake_case		,							)
														_lowerCAmelCase         =       kwargs.pop("""feature_extractor"""						)

									_lowerCAmelCase         =       image_processor if image_processor is not None else feature_extractor
									if image_processor is None:
														raise ValueError("""You have to specify an image_processor."""						)
									if tokenizer is None:
														raise ValueError("""You have to specify a tokenizer."""						)

									super().__init__(_snake_case		,							_snake_case						)
									_lowerCAmelCase         =       self.image_processor




				def __call__(				self		,							_snake_case=None		,							_snake_case=None		,							_snake_case=None		,							**_snake_case						):



									"""simple docstring"""





									if text is None and images is None:
														raise ValueError("""You have to specify either text or images. Both cannot be none."""						)

									if text is not None:
														_lowerCAmelCase         =       self.tokenizer(_snake_case		,							return_tensors=_snake_case		,							**_snake_case						)

									if images is not None:
														_lowerCAmelCase         =       self.image_processor(_snake_case		,							return_tensors=_snake_case		,							**_snake_case						)

									if text is not None and images is not None:
														_lowerCAmelCase         =       image_features.pixel_values
														return encoding
									elif text is not None:
														return encoding
									else:
														return BatchEncoding(data=dict(**_snake_case						)		,							tensor_type=_snake_case						)




				def 				snake_case  (				self		,							*_snake_case		,							**_snake_case						):



									"""simple docstring"""





									return self.tokenizer.batch_decode(*_snake_case		,							**_snake_case						)




				def 				snake_case  (				self		,							*_snake_case		,							**_snake_case						):



									"""simple docstring"""





									return self.tokenizer.decode(*_snake_case		,							**_snake_case						)




				@property
				def 				snake_case  (				self						):



									"""simple docstring"""





									_lowerCAmelCase         =       self.tokenizer.model_input_names
									_lowerCAmelCase         =       self.image_processor.model_input_names
									return list(dict.fromkeys(tokenizer_input_names + image_processor_input_names						)						)




				@property
				def 				snake_case  (				self						):



									"""simple docstring"""





									warnings.warn(
									    """`feature_extractor_class` is deprecated and will be removed in v5. Use `image_processor_class` instead."""		,							_snake_case		,							)
									return self.image_processor_class




				@property
				def 				snake_case  (				self						):



									"""simple docstring"""





									warnings.warn(
									    """`feature_extractor` is deprecated and will be removed in v5. Use `image_processor` instead."""		,							_snake_case		,							)
									return self.image_processor






def      snake_case__							(  lowerCAmelCase_ = 100     ):





     """simple docstring"""







     SCREAMING_SNAKE_CASE 		=[[0 for _ in range(lowerCAmelCase_     )] for _ in range(m + 1     )]
     for i in range(m + 1     ):
          SCREAMING_SNAKE_CASE 		=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())))

