//1400msくらい #include using namespace std; using ll=long long; const ll U=4444LL*4444LL*4444LL*4444LL; const int M=333; ll root(ll x){ ll ret=pow(x,0.25); while((ret+1)*(ret+1)*(ret+1)*(ret+1)<=x)ret++; return ret; } int main(){ int a=0; cin >> a; a%=M; vector>cbrt(M); for(ll i=1;i<=M;i++)cbrt[i*i*i%M].push_back(i); ll cnt=0; for(ll x=1;x*x*x*x<=U;x++){ for(ll y=1;x*x*x*x+y*y*y*y<=U;y++){ ll z_upper=root(U-x*x*x*x-y*y*y*y); ll z3=((a-x*x*x-y*y*y)%M+M)%M; for(auto z:cbrt[z3]){ ll ret=(z_upper+M-z)/M; cnt+=ret; } } } cout << cnt << endl; }