#include <stdio.h>
#include <stdlib.h>
typedef struct LNode
{
int data;
struct LNode* next;
}LNode;
void initLinkList(LNode* pL)
{
int n, i = 2;
LNode* pR, * pS;
scanf("%d", &n);
pL->data = 1;
pR = pL;
for (i = 2; i <= n; i++)
{
pS = (LNode*)malloc(sizeof(LNode));
pS->next = NULL;
pS->data = i;
pR->next = pS;
pR = pS;
}
pR->next = pL;
}
void opLinkList(LNode* pL)
{
int k, i = 1;
LNode* pR, * pR1;
pR = pL;
scanf("%d", &k);
while (pR->next != pR)
{
for (i = 1; i < k; i++)
{
pR1 = pR;
pR = pR->next;
}
pR1->next = pR->next;
free(pR);
pR = pR1->next;
}
printf("%d", pR->data);
}
int main()
{
LNode* pL;
pL = (LNode*)malloc(sizeof(LNode));
pL->next = NULL;
initLinkList(pL);
opLinkList(pL);
return 0;
}