import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayDeque;
import java.util.Queue;
import java.util.StringTokenizer;
public class Main_2161_카드 {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();//출력할 (라인)데이터가 많다면 각각 라인 출력하기 보다는 모아서 한번에!!
int N = Integer.parseInt(br.readLine());// 카드 개수
//대기열 생성(큐 생성)
Queue<Integer> queue = new ArrayDeque<Integer>();
//1부터 N까지 큐에 입력(삽입)
for(int i=1; i<=N; i++) {
queue.offer(i);
}
while(queue.size() > 1) {//카드가 한 장 남기 전까지
sb.append(queue.poll())//맨앞의 수를 출력(버림,삭제)
.append(" ");
// int temp = queue.poll();
// queue.offer(temp);
queue.offer(queue.poll());//그 다음 수는 맨 뒤로 보내기
}//while
//카드가 한장 남음!!
//마지막 카드 출력
sb.append(queue.poll());
System.out.println(sb.toString());// 결과 출력
br.close();
}// main
}