#include #include using namespace std; vector dp(9e6,0); int main(){ int N, D; cin >> N >> D; int ans = 0; int m = 4e6; for(int x = 1; x <= N; ++x){ for(int w = 1; w <= N; ++w){ ++dp[x*x-w*w+m]; } } for(int y = 1; y <= N; ++y){ for(int z = 1; z <= N; ++z){ //if(y*y + z*z > D) break; int d = D - y*y - z*z; if(d+m >= (int)dp.size() or d+m < 0) continue; ans += dp.at(d+m); } } cout << ans << endl; }