
"""simple docstring"""


def 						lowerCamelCase__      (				UpperCAmelCase_ = 10					)->				str:







       """simple docstring"""
       if not isinstance(UpperCAmelCase_		,   UpperCAmelCase_					) or n < 0:
              raise ValueError("Invalid input"					)
       UpperCamelCase       			=		10**n
       UpperCamelCase       			=		2_84_33 * (pow(2		,   7_83_04_57		,   UpperCAmelCase_					)) + 1
       return str(number % modulus					)


if __name__ == "__main__":
      from doctest import testmod

      testmod()
      print(F'''{solution(10) = }''')







"""simple docstring"""


SCREAMING_SNAKE_CASE			  =  {}



def 						lowerCamelCase__      (				UpperCAmelCase_		,   UpperCAmelCase_		,   UpperCAmelCase_					)->				int:







       """simple docstring"""

       # 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
       UpperCamelCase       			=		(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       			=		_calculate(days - 1		,   UpperCAmelCase_		,   late + 1					)

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

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

       UpperCamelCase       			=		state_late + state_absent + state_ontime

       UpperCamelCase       			=		prizestrings
       return prizestrings



def 						lowerCamelCase__      (				UpperCAmelCase_ = 30					)->				int:







       """simple docstring"""
       return _calculate(UpperCAmelCase_		,   absent=0		,   late=0					)


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





