#include using namespace std; bitset<81000001> ok; unordered_map > u; 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; u[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[rem].end()-lower_bound(u[rem].begin(),u[rem].end(),c); } } } cout<