
lowercase    :   dict[tuple[int, int, int], int]						=			{}




def       _SCREAMING_SNAKE_CASE   (						_lowerCamelCase					:     int		,    _lowerCamelCase					:     int		,    _lowerCamelCase					:     int)   ->       int:






							'''simple docstring'''





							if late == 3 or absent == 2:
														return 0

							# if we have no days left, and have not failed any other rules,
							# we have a prize string
							if days == 0:
														return 1

							# No easy solution, so now we need to do the recursive calculation

							# First, check if the combination is already in the cache, and
							# if yes, return the stored value from there since we already
							# know the number of possible prize strings from this point on
							__UpperCamelCase      :  Optional[int]       =   (days, absent, late)
							if key in cache:
														return cache[key]

							# now we calculate the three possible ways that can unfold from
							# this point on, depending on our attendance today

							# 1) if we are late (but not absent), the "absent" counter stays as
							# it is, but the "late" counter increases by one
							__UpperCamelCase      :  Dict       =   _calculate(days - 1		,    _lowerCamelCase		,    late + 1)

							# 2) if we are absent, the "absent" counter increases by 1, and the
							# "late" counter resets to 0
							__UpperCamelCase      :  int       =   _calculate(days - 1		,    absent + 1		,    0)

							# 3) if we are on time, this resets the "late" counter and keeps the
							# absent counter
							__UpperCamelCase      :  Dict       =   _calculate(days - 1		,    _lowerCamelCase		,    0)

							__UpperCamelCase      :  Optional[Any]       =   state_late + state_absent + state_ontime

							__UpperCamelCase      :  Optional[Any]       =   prizestrings
							return prizestrings




def       _SCREAMING_SNAKE_CASE   (						_lowerCamelCase					:     int = 30)   ->       int:






							'''simple docstring'''





							return _calculate(_lowerCamelCase		,    absent=0		,    late=0)


if __name__ == "__main__":
		print(solution())

def       _SCREAMING_SNAKE_CASE   (						_lowerCamelCase					:     int)   ->       int:






							'''simple docstring'''





							__UpperCamelCase      :  Tuple       =   1
							for i in range(1		,    num + 1):
														fact *= i
							return fact




def       _SCREAMING_SNAKE_CASE   (						_lowerCamelCase					:     int)   ->       int:






							'''simple docstring'''





							__UpperCamelCase      :  Dict       =   0
							while number > 0:
														__UpperCamelCase      :  List[Any]       =   number % 10
														sum_of_digits += last_digit
														__UpperCamelCase      :  List[Any]       =   number // 10  # Removing the last_digit from the given number
							return sum_of_digits




def       _SCREAMING_SNAKE_CASE   (						_lowerCamelCase					:     int = 100)   ->       int:






							'''simple docstring'''





							__UpperCamelCase      :  Optional[Any]       =   factorial(_lowerCamelCase)
							__UpperCamelCase      :  Tuple       =   split_and_add(_lowerCamelCase)
							return result


if __name__ == "__main__":
		print(solution(int(input('Enter the Number: ').strip())))