﻿PROGRAM Roots;

var
  base, root : real;
  pow:shortint;
  q:byte;
begin
  repeat
    write('Введите число: ');
    readln(base);
    write('Введите степень корня: ');
    readln(pow);
    
    if (base < 0) and (pow mod 2 = 0) then 
      writeln('Нет четного корня из отрицательного числа.')
    else
      if (pow = 0) then 
        writeln('Корень нулевой степени = 0')
    else begin
      root := exp(ln(abs(base))/pow);  
      if (base<0) then root:=-root;
      writeln('Корень ', pow, ' степени из ', base, ' = ', root);
    end;
    
    writeln();    
    write('Введите 1 для продолжения, 0 для завершения');
    readln(q);
    writeln();
  until (q=0);
end.