#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

int main() {
    int n;
    cin>>n;
    int dp[n+1];
    fill(dp,dp+n+1,1000000000);
    dp[0]=0;
    for (int i=1;;i++) {
        int a=i*(i+1)/2;
        if (n<a)
            break;
        for (int j=a;j<=n;j++)
            dp[j]=min(dp[j],dp[j-a]+1);
    }
    cout<<dp[n]<<endl;
    return 0;
}