//刚学了双端队列,想着用这个方法做一下
#include <bits/stdc++.h>
using namespace std;

int main() {
    int n,k,m;cin>>n>>k>>m;
    deque<int>dq(n);
    for(int i=0;i<n-k;i++) dq[i]=i+k;
    for(int i=n-k;i<n;i++) dq[i]=i-n+k;
    int cnt=1;
    while(dq.size()!=1){
        if(cnt==m){
            dq.pop_front();cnt=1;
        } 
        else{
            int front=dq.front();
            dq.pop_front();
            dq.push_back(front);
            cnt++;
        }
    }
    int top=dq.front();
    cout<<top;
    return 0;
}
// 64 位输出请用 printf("%lld")