#pragma GCC optimize("Ofast") #include using namespace std; bitset<81000001> ok; int id[81000001]; vector u[3996739]; int32_t main() { ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); for(int i=0;i<=300;++i) { for(int e=i;e<=300;++e) { for(int f=e;f<=300;++f) { ok[i*i*i+e*e*e+f*f*f]=1; } } } int cur=0; for(int i=0;i<=81000000;++i) { if(ok[i]) id[i]=cur++; else id[i]=cur; } for(int i=0;i<=300;++i) { for(int e=i;e<=300;++e) { for(int f=e;f<=300;++f) { u[id[i*i*i+e*e*e+f*f*f]].push_back(i); } } } int x;cin>>x; int res=0; for(int a=0;a<=300;++a) { for(int b=a;b<=300;++b) { for(int c=b;c<=300;++c) { int rem=x-a*a*a-b*b*b-c*c*c; if(rem<0 || rem>=81000001 || !ok[rem]) continue; res+=u[id[rem]].end()-lower_bound(u[id[rem]].begin(),u[id[rem]].end(),c); } } } cout<