import sys, time, random, heapq, math, itertools from collections import deque, Counter, defaultdict #from sortedcontainers import SortedSet, SortedList from bisect import bisect, bisect_left, bisect_right import heapq as hq from functools import cache, cmp_to_key def debug(*x):print('debug:',*x, file=sys.stderr) sys.setrecursionlimit(300000) input = lambda: sys.stdin.readline().rstrip() ii = lambda: int(input()) mi = lambda: map(int, input().split()) li = lambda: list(mi()) inf = 2 ** 61 - 1 mod = 998244353 K,N = mi() cnt = 0 anslist = set() for x in range(1,int(10**2.5)+1): for y in range(1,10**4): n = x**6 + y**4 if n in anslist: continue if N < n: break if n % K != 0 : continue z = n//K if z != math.isqrt(z) * math.isqrt(z): continue cnt += 1 anslist.add(n) print(cnt)