#include <iostream>//我也是第一次写这种题,看了博主讲解,才稍微会一点//
using namespace std;
int main()
{
    int a[111];//首先我们先创建一个比较大的数组
    int n,k,m;
    cin>>n>>k>>m;
    for(int i = 0;i<n;i++){//全部初始化为1,嗯对,,你往后看就知道了为什么了
        a[i]=1;
    }
    int step = 1;//计载步长即我报数报到第几个了
    int counter = n;//计数,继续往后看
    int i = k;//这个是我们开始报数的人的位置
    while(counter>0){
        if(a[i]==1&&step==m){//如果这个人还没出队并且我已经到那个我们已经报到m了
            a[i]=0;//我们就令该位置的人的值为1,表示这个位置的人已经出队了
            step=1;//重新计算我报数报到的位置
            counter--;//每次出队一人,我们就少一人
            if(counter==1){//如果还剩下最后一个人
                for(int j =0;j<n;j++){
                    if(a[j]==1){
                        cout<<j;//我们就用循环输出其位置
                        return 0;
                    }
                }
                
            }
        }
        else if(a[i]==1&&step!=m){//如果我step还没到m我们就继续报数,即step++;
            step++;
        }


        if(i==n-1){//每次报数报到m我们就要从头开始继续报数,i就是数组的下标嘛,,这样就能达到一种人环一圈报数的效果,反正对于我们萌新来说,,记住这个大致的模板就对了,,学到后面我们就理解了,或者是说我们用多了这种思想就会了//
            i = 0;
        }
        else i++;
    }
  return 0;//貌似没有这个也没太大关系,反正养成好习惯就对了,如果学有所获,请点点赞谢谢!
}