def factorization(n): arr = [] 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.append([i, cnt]) if temp!=1: arr.append([temp, 1]) if arr==[]: arr.append([n, 1]) return arr N, K = map(int, input().split()) mod = 10**9+7 mem = {} arr = factorization(N) res = 1 for num, cnt in arr: if cnt in mem: res *= mem[cnt] res %= mod else: cal = 1 for i in range(cnt): cal *= cnt+K-i cal %= mod cal *= pow(i+1,mod-2,mod) cal %= mod mem[cnt] = cal res *= cal res %= mod print(res)