ll f(ll x,ll m,ll d){ if(x==0){ return 1; } if(x%9>d&&x%9<9-d){ return 0; } if(x%7>d&&x%7<7-d){ return 0; } ll r=0; rrep(a,m+1){ if(x-a*a*a*d>0){ break; } if(x-a*a*a>=0){ r+=f(x-a*a*a,a,d-1); } } return r; } { ll@x; wt(f(x,300,6)); }