TYPE
point=^node;
node=record
data:integer;
link:point;
end;
VAR
p,q,head:point;
i,j,l,m,n:integer;
BEGIN
read(m,n);
new(p);
head:=p;
p^.data:=1;
for i:=2 to m do
begin
new(q);
q^.data:=i;
p^.link:=q;
p:=q;
end;
p^.link:=head;
i:=1;
p:=head;
q:=p;
REPEAT
if i mod n = 0 then
begin
q^.link:=p^.link;
writeln(p^.data);
dispose(p);
p:=q;
end;
q:=p;
p:=p^.link;
i:=i+1;
UNTIL p^.next=p;
write(p^.data);
end;