//Pascal ABC.NET 3.1 сборка 1219
Var
x,y,i:integer;
function nod(x,y:integer):integer;
begin
while x*y<>0 do
if x>y then x:=x mod y else y:=y mod x;
nod:=x+y;
end;
begin
readln(x,y);
for i:=1 to x div 2 do
if (x mod i=0) and (nod(i,y)=1) then writeln(i);
end.
Пример ввода:
15
27
Пример вывода:
1
5