def factorization(n: int) -> dict[int, int]: arr = dict() temp = n for i in range(2, int(-(-(n**0.5) // 1)) + 1): if temp % i == 0: cnt = 0 while temp % i == 0: cnt += 1 temp //= i arr[i] = cnt if temp != 1: arr[temp] = 1 if not arr and n != 1: arr[n] = 1 return arr N, K = map(int, input().split()) MOD = 10**9 + 7 def comb(n: int, r: int) -> int: res = 1 for i in range(r): res *= n - i res *= pow(i + 1, -1, MOD) res %= MOD return res ans = 1 fac = factorization(N) for ct in fac.values(): tmp = 1 ans *= comb(ct + K, ct) ans %= MOD print(ans)