#include <iostream>
#include<bits/stdc++.h>
using namespace std;
int dp[1000005];
int solve(int n){
    for(int i=1;i<=n;i++){
        dp[i]=dp[i-1]+1;//用1来凑
        if(i>=5){dp[i]=min(dp[i-5]+1,dp[i]);}//用1和5来凑
        if(i>=7){dp[i]=min(dp[i-7]+1,dp[i]);}//用1,5,7来凑
    }
    return dp[n];
}
int main() {
    int n;
    cin>>n;
    cout<<solve(n);
    return 0;
}

核心状态转移是dp[i]=min(dp[i-1]+1,dp[i-5]+1,dp[i-7]+1)