#include using namespace std; void six(long long x, long long v[]) { long long i =1; while(i*i*i*i*i*i <= x) { v[i-1] = (i*i*i*i*i*i); ++i; } //return i-1; } long long six_count(long long x) { long long i =1; while(i*i*i*i*i*i <= x) { // v[i-1] = (i*i*i*i*i*i); ++i; } return i-1; } long long four(long long b) { long long i = 1; while(i*i*i*i <= b) { if(i*i*i*i == b) return i; ++i; } return -1; } int main() { long long n,k; cin >> k>> n; long long ans =0; long long i =1; while(i*i * k <= n) { long long a = i*i*k; long long size = six_count(a); long long v[size]; six(a,v); for(long long j= 0; j < size; ++j) { if(four(a-v[j]) > 0) { ++ans; break; } } ++i; } cout << ans << endl; }