mod = 10**9 + 7 def factorize(n): factors = {} while n % 2 == 0: factors[2] = factors.get(2, 0) + 1 n = n // 2 i = 3 while i * i <= n: while n % i == 0: factors[i] = factors.get(i, 0) + 1 n = n // i i += 2 if n > 1: factors[n] = 1 return factors max_fact = 40 fact = [1] * (max_fact + 1) for i in range(1, max_fact + 1): fact[i] = fact[i-1] * i % mod N, K = map(int, input().split()) factors = factorize(N) if not factors: print(1) else: ans = 1 k_mod = K % mod for e in factors.values(): product_part = 1 for j in range(1, e + 1): term = (k_mod + j) % mod product_part = product_part * term % mod inv_fact_e = pow(fact[e], mod - 2, mod) contribution = product_part * inv_fact_e % mod ans = ans * contribution % mod print(ans)