ll N,X,D[1d6],d,z,i=2;
ll f(ll x,ll n,ll i){
	if(n-1){
		rep(i,i,d){
			if(D[i]**n>x)break;
			x%D[i]||f(x/D[i],n-1,i);
		}
	}else++z;
}
{
	rd(N,X);
	for(++X;i*i<=X;++i)
		X%i||(D[d++]=i,i-X/i?D[d++]=X/i:0);
	sort(D,D+d);
	f(X,N,0);
	wt(z);
}