#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define rep(i,n) for(int i = 0;i<((int)(n));i++) #define reg(i,a,b) for(int i = ((int)(a));i<=((int)(b));i++) #define irep(i,n) for(int i = ((int)(n)-1);i>=0;i--) #define ireg(i,a,b) for(int i = ((int)(b));i>=((int)(a));i--) typedef long long ll; typedef pair mp; ll mod = 1e9+7; ll inf = 1e18; //AC ll ans=inf; map a; void f(ll n,ll t){ if(t>=ans)return; if(n==0)ans=min(ans,t); ireg(i,1,sqrt(2*n)+3){ if(i*(i+1)/2<=n)f(n-i*(i+1)/2,t+1); } } int main(void){ ll n; cin>>n; f(n,0); cout<