K, N = map(int, input().split()) good = set() ct = 0 for x in range(1, N+1): if x ** 6 > N: break for y in range(1, N+1): n = x ** 6 + y ** 4 if n > N: break ct += 1 if n % K: continue n //= K # ng = 0 # ok = n ng = max(int(n ** 0.5) - 3, 0) ok = int(n ** 0.5) + 3 while ok - ng > 1: mid = (ok + ng) // 2 if mid * mid >= n: ok = mid else: ng = mid if ok * ok == n: good.add(n) # print(n, x, y) print(len(good)) # print(ct)