#include using namespace std; void solve() { int N, D; cin >> N >> D; vector bucket(2 * N * N + 1, 0); for (int i = 1; i <= N; i++) { for (int j = 1; j <= N; j++) { bucket[i * i + j * j]++; } } int64_t ans = 0; for (int i = 1; i <= N; i++) { for (int j = 1; j <= N; j++) { int target = D + i * i - j * j; if (target >= 2 && target <= 2 * N * N) { ans += 1LL * bucket[target]; } } } cout << ans << '\n'; } int main() { ios::sync_with_stdio(false); cin.tie(NULL); int t = 1; // cin >> t; while (t--) solve(); return 0; }