#include using namespace std; int main(){ int A; cin >> A; vector M(4444); for (int i = 0; i < 4444; i++){ M[i] = (long long) i * i * i % 333; } vector Q(4445); for (int i = 1; i <= 4444; i++){ Q[i] = (long long) i * i * i * i; } vector> S(333, vector(4445, 0)); for (int i = 0; i < 333; i++){ for (int j = 0; j < 4444; j++){ S[i][j + 1] = S[i][j]; if (j > 0 && M[j] == i){ S[i][j + 1]++; } } } long long ans = 0; for (int i = 1; i < 4444; i++){ int k = 4443; for (int j = 1; Q[i] + Q[j] < Q[4444]; j++){ while (Q[i] + Q[j] + Q[k] > Q[4444]){ k--; } ans += S[(A - M[i] - M[j] + 666) % 333][k + 1]; } } cout << ans << endl; }