#include<bits/stdc++.h>
using namespace std;
queue<int> q;
int main(void){
ios::sync_with_stdio(0);
cin.tie(0);
int N;
cin >> N;
for(int i=1;i<=N;i++){
q.push(i);
}
N-=1;
while(N--){
q.pop();
// cout << q.front() << endl;
q.push(q.front());
q.pop();
}
cout << q.front();
}
카드를 위에서 1부터 N 까지 쌓고,
맨 위에있는 카드를 버리고 그 다음 카드를 맨 아래를 보내는 것을 N-1 번 반복한다.
큐를 이용해 그대로 구현해주면 된다.