{ Рекурсивные алгоритмы: нахождения НОД и НОК двух чисел }
var a,b:longint;

function NOD(x,y:longint):longint; { фукнция поиска наиб. общ. делителя }
begin
   if x<>0 then NOD:=NOD(y mod x,x) else NOD:=y;
end;

function NOK(x,y:longint):longint; { фукнция поиска наим. общ. кратного }
begin
   NOK:=( x div NOD(x,y) ) * y;
end;

begin { основная программа }
    readln(a,b);
    writeln( 'НОД этих чисел = ', NOD(a,b) );
    writeln( 'НОК этих чисел = ', NOK(a,b) );
end.
