# Python动态规划解法,比较通用,题目类似找零钱问题
import sys
 
n = int(sys.stdin.readline().strip())
 
def buy_nails(nails, target):
    dp = [target + 1] * (target + 1)
    # 初始化很重要
    dp[0] = 0
    for i in range(1, len(nails) + 1):
        for j in range(1, target + 1):
            if j >= nails[i - 1]:
                dp[j] = min(dp[j], dp[j - nails[i - 1]] + 1)

    min_num = dp[-1]
    if min_num < target + 1:
        return min_num
    else:
        return -1

nails = [4, 9]
dp = buy_nails(nails, n)
print(dp)