#include using namespace std::literals::string_literals; using i64 = long long; using std::cout; using std::endl; using std::cin; int main() { int n, d; scanf("%d%d", &n, &d); std::vector vec(2 * n * n + 1, 0); for(i64 i = 1; i <= n; i++) { for(i64 j = 1; j <= n; j++) { vec[i * i + j * j]++; } } i64 ans = 0; for(i64 i = 1; i <= n; i++) { for(i64 j = 1; j <= n; j++) { i64 latte = i * i - j * j + d; if(latte > vec.size() or latte < 0) continue; ans += vec[latte]; } } printf("%lld\n", ans); return 0; }