#include //#include using namespace std; //using namespace atcoder; using ll = long long; //using mint = modint998244353; ll isqrt(ll a){ if (a == 0) return 0; ll l=1, r=3037000500, c; while(r-l>1){ c = (l+r)/2; if (c*c <= a) l=c; else r=c; } return l; } int main(){ cin.tie(nullptr); ios_base::sync_with_stdio(false); /* x^6+y^4 とかけるNは高々1e15^(1/4)*1e15^(1/6) = 1.7e6程度 */ ll N, K; cin >> K >> N; const ll a = 316, b = 5623; set st; for (ll x=1; x<=a; x++){ for (ll y=1; y<=b; y++){ ll n = x*x*x*x*x*x+y*y*y*y; if (n <= N) st.insert(n); } } ll ans=0; for (auto n : st){ if (n % K == 0){ ll z2 = n / K; ll z = isqrt(z2); if (z*z == z2) ans++; } } cout << ans << endl; return 0; }