n = int(input())
coins = [1,5,7]#所有硬币的集合列表
INF = float('inf')#动态规划列表初始值位无穷大infinity
dp = [float(INF)]*(n+1)#动态规划数组列表
dp[0] = 0#想要找零0元,只有0种方式
for coin in coins:#遍历所有硬币
    for i in range(coin,n+1):
        dp[i] = min(dp[i],dp[i-coin]+1)#寻找找零i元,最少需要的硬币个数
print(dp[n])#输出找零n元的最小硬币数量