#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; }