#include <stdio.h>
//可以用循环链表的数据结构来达到循环效果
//这里用数组模拟报数和出队的效果
int main() {
    int n, k, m;
    scanf("%d %d %d", &n, &k, &m);

    int alive[100] = {0};//标记存活状态,初始化为0,后续赋值1
    for (int i = 0; i < n; i++) {
        alive[i] = 1;//初始状态所有人都存活
    }
    //人数,位置,报数的变量
    int count = n;//存活人数,初始为n
    int current = k;//当前报数的起始位置
    int step = 0;//报数计数器


    //实现模块
    while (count > 1) {
        //报数模块
        if (alive[current]) {
            step++;//如果这个人还活者++报一下数
            if (step == m) { //判断需不需要淘汰
                alive[current] = 0;
                count--;//存活人数减1
                step = 0;//重置报数器
            }
        }
        //%n是为了达到循环的效果
        current = (current + 1) % n;//循环遍历,围成一圈
        //太妙了
    }


    //找到最后存活的人
    for (int i = 0; i < n; i++) {
        if (alive[i]) {
            printf("%d", i);
            break;
        }
    }
    return 0;
}