//刚学了双端队列,想着用这个方法做一下
#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")

京公网安备 11010502036488号