M=10**9+7 def powmod(a,p) prod=1 while p>0 prod=(prod*a)%M if p.odd? a=(a*a)%M p/=2 end prod end n,k,*a=gets(p).split.map(&:to_i) gcd=a.first a.each{|v|gcd=v.gcd gcd} prod=a.map{|v|v/gcd}.inject(1){|r,v|(r*v)%M} puts (powmod(gcd,k)*prod)%M