N=1000000007

def power(x,y)
        if(y.to_i==0) then return 1; end
        if(y.to_i==1) then return x; end
        if(y.to_i%2==0) then
                a = power(x.to_i,y.to_i/2);
                return (a*a)%N;
        else
                a = power(x.to_i,(y.to_i-1)/2);
                return (a*a*x%N);
        end
end

m,n=gets.split(" ");
puts power(m.to_i,n.to_i);