



__SCREAMING_SNAKE_CASE           =  {}




def 	UpperCAmelCase   (						_lowerCamelCase ,    _lowerCamelCase ,    _lowerCamelCase    ):

			# if we are absent twice, or late 3 consecutive days,
			# no further prize strings are possible
			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
			A							:					Optional[Any]              =						(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
			A							:					List[Any]              =						_calculate(days - 1 ,    _lowerCamelCase ,    late + 1    )

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

			# 3) if we are on time, this resets the "late" counter and keeps the
			# absent counter
			A							:					Union[str, Any]              =						_calculate(days - 1 ,    _lowerCamelCase ,    0    )

			A							:					Any              =						state_late + state_absent + state_ontime

			A							:					Optional[Any]              =						prizestrings
			return prizestrings




def 	UpperCAmelCase   (						_lowerCamelCase = 30    ):
			return _calculate(_lowerCamelCase ,    absent=0 ,    late=0    )


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




from __future__ import annotations

from math import pi

# Define the Reduced Planck Constant ℏ (H bar), speed of light C, value of
# Pi and the function
__SCREAMING_SNAKE_CASE           =  1.0_5_4_5_7_1_8_1_7e-3_4  # unit of ℏ : J * s

__SCREAMING_SNAKE_CASE           =  3e8  # unit of c : m * s^-1




def 	UpperCAmelCase   (						_lowerCamelCase ,    _lowerCamelCase ,    _lowerCamelCase    ):

			if (force, area, distance).count(0    ) != 1:
						raise ValueError("One and only one argument must be 0"    )
			if force < 0:
						raise ValueError("Magnitude of force can not be negative"    )
			if distance < 0:
						raise ValueError("Distance can not be negative"    )
			if area < 0:
						raise ValueError("Area can not be negative"    )
			if force == 0:
						A							:					int              =						(REDUCED_PLANCK_CONSTANT * SPEED_OF_LIGHT * pi**2 * area) / (
						    240 * (distance) ** 4
						)
						return {"force": force}
			elif area == 0:
						A							:					Tuple              =						(240 * force * (distance) ** 4) / (
						    REDUCED_PLANCK_CONSTANT * SPEED_OF_LIGHT * pi**2
						)
						return {"area": area}
			elif distance == 0:
						A							:					Dict              =						(
						    (REDUCED_PLANCK_CONSTANT * SPEED_OF_LIGHT * pi**2 * area) / (240 * force)
						) ** (1 / 4)
						return {"distance": distance}
			raise ValueError("One and only one argument must be 0"    )


# Run doctest
if __name__ == "__main__":
							import doctest

							doctest.testmod()