M = 10**9 + 7 n, k = gets.split.map(&:to_i) ans = 1 (2..n**0.5).each do |p| c = 0 while n % p == 0 c += 1 n /= p end (k + 1..k + c).each { |i| ans = ans * i % M } (1..c).each { |i| ans = ans * i.pow(M - 2, M) % M } end ans = ans * -~k % M if n > 1 puts ans