


import functools







def 						lowerCamelCase(   a__	,a__):

    if not isinstance(a__	,a__) or not all(isinstance(a__	,a__) for day in days):
        raise ValueError('''The parameter days should be a list of integers''')

    if len(a__) != 3 or not all(isinstance(a__	,a__) for cost in costs):
        raise ValueError('''The parameter costs should be a list of three integers''')

    if len(a__) == 0:
        return 0

    if min(a__) <= 0:
        raise ValueError('''All days elements should be greater than 0''')

    if max(a__) >= 366:
        raise ValueError('''All days elements should be less than 366''')

    _SCREAMING_SNAKE_CASE			  =set(a__)

    @functools.cache
    def dynamic_programming(a__) -> int:
        if index > 365:
            return 0

        if index not in days_set:
            return dynamic_programming(index + 1)

        return min(
            costs[0] + dynamic_programming(index + 1)	,costs[1] + dynamic_programming(index + 7)	,costs[2] + dynamic_programming(index + 30)	,)

    return dynamic_programming(1)


if __name__ == "__main__":
       import doctest

       doctest.testmod()



from collections.abc import Generator







def 						lowerCamelCase(   ):
				_SCREAMING_SNAKE_CASE  ,				_SCREAMING_SNAKE_CASE			  =0, 1
				while True:
								_SCREAMING_SNAKE_CASE  ,				_SCREAMING_SNAKE_CASE			  =b, a + b
								yield b







def 						lowerCamelCase(   a__ = 1000):
				_SCREAMING_SNAKE_CASE			  =1
				_SCREAMING_SNAKE_CASE			  =fibonacci_generator()
				while len(str(next(a__))) < n:
								answer += 1
				return answer + 1


if __name__ == "__main__":
							print(solution(int(str(input()).strip())))