#include <stdio.h>
#include <stdlib.h>
typedef struct node
{
int data;
struct node *next;
}Node;
void josephusFn(int n,int k)
{
//创建循环链表
Node *head= NULL,*p= NULL,*r= NULL;
head = (Node *)malloc(sizeof (Node));
if(head == NULL)
{
printf("failed");
return;
}
head->data = 0;
head->next = NULL;
p = head;
//创建
for(int i=1;i < n;i++)
{
r=(Node *)malloc(sizeof (Node));
r->data = i;
r->next =NULL;
p->next = r;
p = r;
}
p->next = head;
p = head;
while(p->next != p)
{
for(int i = 1;i < k;i++)
{
r=p;
p=p->next;
}
printf("%d ",p->data +1);
r->next = p->next;
p = p->next;
}
printf("%d ",p->data +1);
printf("\n");
}
int main()
{
int n,k;
// while(1)
// {
scanf("%d %d",&n,&k);
josephusFn(n,k);
// }
return 0;
}