{
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.
