#include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; bool rcmp(int a, int b) { return a>b; } typedef long long LL; vector vs[333]; int ks[128]; int main() { int n, i, c=0, f1, f2,f3, j, a; scanf("%d", &a); LL v, vv, mv, r, dv, x; mv=4444; mv*=4444; mv*=4444; mv*=4444; for (i=1; i<4444; i++) { v=i; v*=i; v*=i; vv=v*i; v%=333; vs[v].push_back(vv); } for (i=0; i<333; i++) if (!vs[i].empty()) { // sort(vs[i].begin(), vs[i].end()); ks[c++]=i; } r=0; for (i=0; i=mv) break; dv=mv-v1-v2; while(x&&vs[f3][x-1]>dv) x--; if (x==0) break; r+=x; } } } } printf("%lld\n", r); return 0; }