#include #include #include using namespace std; using namespace atcoder; using mint = modint998244353; #define rep(i,n) for (int i = 0; i < (n); ++i) #define Inf32 1000000001 #define Inf64 4000000000000000001 //map mp[305]; int main(){ long long ans = 0; /* for(int i=0;i<=300;i++){ for(int j=i;j<=300;j++){ for(int k=j;k<=300;k++){ mp[k][i*i*i+j*j*j+k*k*k]++; } } } */ long long X; cin>>X; map cmp; for(int i=0;i<=300;i++){ for(int j=i;j>=0;j--){ for(int k=j;k>=0;k--){ cmp[i*i*i+j*j*j+k*k*k]++; } } for(int j=i;j<=300;j++){ for(int k=j;k<=300;k++){ int v = i*i*i+j*j*j+k*k*k; if(cmp.count(X-v))ans += cmp[X-v]; } } } cout<