#include using namespace std; typedef long long ll; typedef long double ld; #define nl << '\n'; const ll N = 8e6 + 5, M = 1e9 + 7; void solve(ll tc) { ll n, d; cin >> n >> d; vector m(N); for (ll i = 1; i <= n; i++) { for (ll j = 1; j <= n; j++) { if ((i * i) + (j * j) < N) { m[(i * i) + (j * j)]++; } } } ll c = 0; for (ll i = 1; i <= n; i++) { for (ll j = 1; j <= n; j++) { if ((i * i) - (j * j) + d >= 2) { c += m[(i * i) - (j * j) + d]; } } } cout << c nl } int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); ll t = 1; // cin >> t; for (ll i = 1; i <= t; i++) { solve(i); } return 0; }