def pow(m,n,a)
  if n==0
     1
  elsif n.even?
    pow(m*m % a,n/2,a) % a
  else
    pow(m*m % a,n/2,a)*m % a
  end
end

def main
  a=1000000007
  fh=STDIN
  #fh=File.new("x.txt", "r")
  m,n = fh.gets.chomp.split.map(&:to_i)
  puts pow(m,n,a)
end

if $0 == __FILE__ then
  main
end

