while True: try: n, m = list(map(int, input().split())) count = 0 l = [] for i in range(1, m + 1): if m % i == 0: count += 1 l.append(i) dp = [[0 for i in range(n)] for j in range(count)] for i in range(count): dp[i][0] = 1 for i in range(count): for j in range(1, n): res = 0 k = 0 while k <= i: if l[i] % l[k] == 0: res += dp[k][j - 1] k += 1 dp[i][j] = res print(dp[-1][-1] % (10 ** 9 + 7)) except: break