#include<bits/stdc++.h>
using namespace std;
struct node{ //定义链表结点
int data; //结点的值
node *next; //指向下一个结点的指针
};
int main(){
int n,k,m;
scanf("%d%d%d",&n,&k,&m);
k--;
node *head,*p,*now,*prev; //定义变量
head = new node; //创建头结点
head->data = 1; //头结点的值为1
head->next = NULL; //头结点的指针为空
now = head; //now指向头结点
for(int i = 2;i<=n;i++){
p = new node; //创建新结点
p->data = i; //新结点的值为i
p->next = NULL; //新结点的指针为空
now->next = p; //now指向的结点的指针指向新结点
now = p; //now指向新结点
}
now->next = head; //最后一个结点指向头结点,形成循环链表
while(k--){
now = now->next;
}
while(n--){
for(int i = 0;i<m-1;i++){
now = now->next;
}
if(n == 0){
cout << now->next->data << " ";
}
now->next = now->next->next;
}
}