from math import comb import collections def prime_factorize(n): a = [] while n % 2 == 0: a.append(2) n //= 2 f = 3 while f * f <= n: if n % f == 0: a.append(f) n //= f else: f += 2 if n != 1: a.append(n) return a def n_fact(N): c = collections.Counter(prime_factorize(N)) return c N,M = map(int,input().split()) X = n_fact(M) ans = 1 for k,v in X.items(): tmp = 0 for i in range(N): tmp += comb(N, i) * v ** i ans *= tmp print(ans)