def factorize(n): fct = [] for i in range(2, int(n**0.5)+1): c = 0 while n%i==0: n //= i c += 1 if c>0: fct.append((i, c)) if n>1: fct.append((n, 1)) return fct N, M = map(int, input().split()) ans = 1 MOD = 10**9+7 for _, c in factorize(M): dp = [0]*(c+1) dp[0] = 1 for i in range(N): acc = [0] for j in range(c+1): acc.append((acc[-1]+dp[j])%MOD) ndp = [0]*(c+1) for j in range(c+1): ndp[j] = acc[c-j+1] dp = ndp ans *= sum(dp)%MOD ans %= MOD print(ans)