루카스는 카드 게임을 좋아하며, 카드를 섞는 새로운 방법을 고안했다.
1번부터 N번까지 번호가 매겨진 카드 N장이 어떤 순서로 첫 번째 더미에 쌓여 있다. 두 번째 더미는 처음에 비어 있다. 정확히 N번의 연산을 수행한다. pk를 k번째 소수라고 하자(p1=2, p2=3, p3=5, …). k번째 연산에서는 다음을 한다.
예를 들어 첫 번째 더미가 위에서 아래로 1,2,3,4,5,6,7일 때 p=5로 연산을 수행하면, 먼저 맨 위 4장을 아래로 옮겨 5,6,7,1,2,3,4가 되고, 이어서 맨 위 카드 5를 두 번째 더미에 올려 첫 번째 더미는 6,7,1,2,3,4가 된다.
모든 N번의 연산을 마쳤을 때 두 번째 더미가 위에서 아래로 N,N−1,…,2,1이 되도록(즉 카드 1번이 두 번째 더미의 맨 아래에 오도록) 첫 번째 더미의 카드 순서를 정하라.
정수 N 하나가 주어진다(2≤N≤100000). 첫 번째 더미에 있는 카드의 수이다.
N개의 줄을 출력한다. i번째 줄에는 첫 번째 더미에서 위치 i에 있는 카드의 번호 ai를 출력한다. 위치 1은 맨 위 카드, 위치 N은 맨 아래 카드이다.
처음 네 소수는 2,3,5,7이다. 첫 번째 더미가 위에서 아래로 2,1,3,4로 놓여 있을 때, 네 번의 연산 동안 더미는 다음과 같이 변한다.
(2,1,3,4)→(3,4,2)→(3,4)→(4)→()
연산 1(p1=2): 카드 2를 맨 아래로 옮긴 뒤 카드 1을 꺼낸다. 연산 2(p2=3): 두 번 옮기면 맨 위 카드가 2가 되어 이를 꺼낸다. 연산 3과 4에서는 각각 카드 3과 4를 꺼낸다. 두 번째 더미는 아래에서 위로 1,2,3,4로 채워지며, 위에서부터 읽으면 4,3,2,1이다.