#include #include using namespace std; using namespace atcoder; using ll = long long; using ull = unsigned long long; using ld = long double; using pii = pair; using pdd = pair; using pll = pair; using pli = pair; using pil = pair; template using Graph = vector>; const int MOD = 1e9 + 7; const ld PI = acos(-1); int main() { cin.tie(0); ios::sync_with_stdio(false); ll N; cin >> N; auto search = [&](ll k) -> bool { ll ng = N, ok = 1; while (ng - ok > 1) { ll mid = (ok + ng) / 2; (mid * mid <= k ? ok : ng) = mid; } return ok * ok == k; }; int ans = 0; for (ll x = 1; x < N; ++x) { ans += search(N * N - x * x); } cout << ans << endl; return 0; }