#include #include #include #include #include #include #include using namespace std; template inline bool chmax(T& a, T b){ if (a < b){ a = b; return true; } return false; } template inline bool chmin(T& a, T b){ if (a > b){ a = b; return true; } return false; } int dpL[5000001], dpR[5000001]; int main() { int n, d; cin >> n >> d; for(int x=1; x<=n; ++x) { for (int y=1; y<=n; ++y) { dpL[x*x+y*y]++; if (x*x-y*y+d>0) dpR[x*x-y*y+d]++; } } int ans = 0, vmax = d + n*n; for(int i=0; i<=vmax; ++i) ans += dpR[i]*dpL[i]; cout << ans << endl; }