// 問題の URL を書いておく // #include using namespace std; //#define ENABLE_PRINT #if defined(ENABLE_PRINT) #define Print(v) \ do {\ cerr << #v << ": " << v << endl; \ }while(0) #define PrintVec(v) \ do {\ for(int __i = 0; __i < v.size(); ++__i) \ { \ cerr << #v << "[" << __i << "]: " << v[__i] << endl; \ }\ }while(0) #define P(fmt, ...) fprintf(stderr, fmt, __VA_ARGS__) #define LP fprintf(stderr, "L: %d\n", __LINE__) #else #define Print(v) ((void)0) #define PrintVec(v) ((void)0) #define P(fmt, ...) ((void)0) #define LP ((void)0) #endif #define rep(i, n) for(int i = 0; i < (int)(n); ++i) using ll = long long; int main(int, const char**) { ll N; cin >> N; auto X = N * N; set sq; rep(i, N - 1) { auto x = (ll)i + 1; sq.insert(x * x); } int ans = 0; for(ll i = 1; i <= N; ++i) { auto b = (X - i * i); if(sq.find(b) == sq.end()) continue; ans++; } cout << ans << endl; return 0; }