#pragma GCC optimize("Ofast", "unroll-loops") #include using namespace std; using ll = long long; bool is_square(ll v){ ll less = 0, greater = 200001; while (greater - less > 1){ ll mid = (less + greater) / 2; if (mid * mid < v) less = mid; else greater = mid; } return (greater * greater == v); } int solve(int N){ int ret = 0; for (ll x = 1; x < N; ++x){ ll y2 = ll(N) * N - x * x; if (is_square(y2)) ++ret; } return ret; } int main(void){ int N; cin >> N; cout << solve(N) << endl; return 0; }