#include using namespace std; using lli = long long; #define rep(i,n) for(int i=0;ibool chmax(T &a, const T &b) { if (abool chmin(T &a, const T &b) { if (b ostream &operator<<(ostream &os, const vector &x){ os << "{"; for(size_t i = 0; i < x.size(); i++){ if(i < x.size()-1) os << x[i] << ", "; else os << x[i]; } os << "}"; return os; } int main(void){ lli n; cin >> n; n*=n; unordered_map f; for(lli y = 1; y*y <= n; y++){ f[y*y] = true; } lli ans = 0; for(lli x = 1; x*x <= n; x++){ if(f[n-x*x]) ans++; } cout << ans << endl; return 0; }