{
TASK:crazy
LANG:Pascal
}

uses
        module;
var
       x, y : longint;

procedure solve;
 var
      i, j : longint;

 begin
     for i := x - 1 downto 2 do
          if (x mod i) = 0 then
               begin
                     x := x div i;
                     inc(y);
                     setnum(x, y);
                     exit;
               end;

    for j := y - 1  downto 2 do
         if (y mod j) = 0 then
           begin
            y := y div j;
            inc(x);
            setnum(x, y);
            exit;
        end;
 end;

begin
       while (true)  do
         begin
		getnum(x, y);
                solve;
         end;
     //    halt(0);
end.
