#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef pair P; #define MOD 1000000007 // 10^9 + 7 #define INF 1000000000 // 10^9 #define LLINF 1LL<<60 int xy[8000009]; // xy[i] : x^2+y^2 = iとなる(x,y)の組 int wz[8000009]; // int main() { cin.tie(0); ios::sync_with_stdio(false); int N, D; cin >> N >> D; //for (int i = 1; i <= 8000000; i++) xy[i] = wz[i] = 0; for (int i = 1; i <= N; i++) { for (int j = 1; j <= N; j++) { xy[i * i + j * j]++; if (1<= i * i - j * j + D && i * i - j * j + D <= 8000000) wz[i * i - j * j + D]++; } } ll ans = 0; for (int i = 1; i <= 8000000; i++) ans += xy[i] * wz[i]; cout << ans << endl; return 0; }