n,m = map(int,input().split()) mod = 10**9+7 def calc(x): dp = [1]*(x+1) for i in range(n): ndp = [0]*(x+1) for j in range(x+1): ndp[j] = dp[x-j] for j in range(x): ndp[j+1] += ndp[j] ndp[j+1] %= mod dp = ndp return dp[-1] ans = 1 for i in range(2,10**6+5): if m%i: continue c = 0 while m%i == 0: m //= i c += 1 ans *= calc(c) ans %= mod if m > 1: ans *= calc(1) ans %= mod print(ans)