#include<stdio.h>
#include<stdlib.h>
typedef struct node{
int data;
struct node *next;
}LinkList,*LinkNode;
LinkList *Init(LinkList *L,int n)
{
LinkNode r,s;
L=(LinkList*)malloc(sizeof(LinkList));
L->next=L;
L->data=1;
r=L;
for(int i=2;i<=n;i++)
{
s=(LinkList*)malloc(sizeof(LinkList));
s->data=i;
r->next=s;
r=s;
}
r->next=L;
return L;
}
int main()
{
LinkList *L;
L=(LinkList*)malloc(sizeof(LinkList));
int N,X;
while(~scanf("%d%d",&N,&X))
{
LinkNode u,p;
int count=0,t;
L=Init(L,N);
p=L;
while(count<N)
{
for(int i=1;i<X;i++) p=p->next;//找到要删除的节点
printf("%d",p->data);
if(count<N-1) printf(" ");
//准备交换前后data
u=p->next;
t=p->data;
p->data=u->data;
u->data=t;
//开始删除u
p->next=u->next;
free(u);
count++;
}
printf("\n");
}
return 0;
}