{ арифметические алгоритмы: возведение целого числа в натуральную степень  }
{ Вариант 2 (более быстрый и эффективный)                                  }
{ ------------------------------------------------------------------------ }
var x,y:integer;

function Degree(a,b:integer):longint;
var r:longint; c:integer;
begin
     r:=1; c:=a;
     while b>0 do begin
        if odd(b) then begin
                       r:=r*c;
                       dec(b);
                  end else begin
                       c:=c*c;
                       b:=b div 2;
                  end;
     end;
     Degree:=r;
end;

begin
    writeln('введите число и (через пробел) степень числа');
    readln(x,y);
    writeln(Degree(x,y)); { print x^y }
end.
