MOD = 10**9+7 N,M = list(map(int,input().split())) def divisor(n): sq = n**0.5 border = int(sq) table = [] bigs = [] for small in range(1, border+1): if n%small == 0: table.append(small) big = n//small bigs.append(big) if border == sq:#nが平方数 bigs.pop() table += reversed(bigs) return table ps = divisor(M) dp = [[0 for _ in range(len(ps))] for _ in range(N)] dp[0] = [1] * len(ps) for i in range(N-1): for j in range(len(ps)): for k in range(len(ps)): if(ps[j] * ps[k] > M):break if(M % (ps[j]*ps[k]) != 0):continue dp[i+1][k] += dp[i][j] dp[i+1][k] %= MOD print(sum(dp[-1]) % MOD)