가지의 정령 사사
시간 제한2초메모리 제한1024 MB
한 변의 길이 n이 주어지면 행 우선으로 채운 표와 대각선으로 채운 표에서 같은 칸에 놓이는 수를 오름차순으로 출력합니다.
문제
한 변의 길이가 양의 정수인 정사각형 모양의 가지밭에는 가지의 정령 사사의 힘이 깃들어 정말 맛있는 가지가 자랍니다. 이런 가지밭에서는 특정한 길이의 가지만 자랄 수 있다는 전승이 있습니다. 한 변의 길이가 인 가지밭에서 자랄 수 있는 가지의 길이는 다음 방법으로 정해진다고 합니다.
- 크기의 빈 표를 두 개 준비합니다.
- 첫 번째 표에는 맨 위 가로줄에 왼쪽에서 오른쪽으로 부터 까지 채웁니다. 그 아래 가로줄에는 부터 까지를 순서대로 채웁니다. 이를 반복하여 부터 까지의 모든 수를 씁니다.
- 두 번째 표의 맨 위 왼쪽 칸에 을 씁니다. 이후 맨 왼쪽 세로줄의 둘째 가로줄부터 위 오른쪽 대각선을 따라 올라가며 다음 수를 차례로 씁니다. 다음으로 맨 왼쪽 세로줄의 셋째 가로줄부터 같은 방식으로 씁니다. 이를 반복하다가 오른쪽 위 칸까지 채워지면, 가장 왼쪽 아래 칸의 오른쪽 칸부터 위 오른쪽 대각선을 따라 올라가며 수를 채웁니다. 이를 반복하여 부터 까지의 모든 수를 씁니다.
- 두 표의 같은 위치에 같은 수가 적힌 경우가 있습니다. 그 수들이 이 가지밭에서 자랄 수 있는 가지의 길이입니다.
그림 1
인 가지밭을 예로 들면 다음과 같습니다. 먼저 그림 1-a, 1-b와 같이 표 두 개를 만듭니다. 그다음 그림 1-c와 같이 두 표를 겹치면 , , , 이 두 표의 같은 위치에 나타나는 것을 알 수 있습니다. 따라서 이 가지밭에는 길이가 , , , 인 가지만 자랄 수 있습니다.
키위새는 가지를 너무나 사랑한 나머지 자신만의 가지밭을 갖고 싶어 합니다. 키위새는 가지밭의 한 변의 길이가 될 수 있는 후보들을 정해 두었는데, 자랄 수 있는 가지의 길이를 계산하는 데 어려움을 겪고 있습니다. 키위새를 도와, 가지밭의 한 변의 길이가 주어지면 자랄 수 있는 가지의 길이를 출력하는 프로그램을 작성해 봅시다.
입력
첫 번째 줄에 키위새가 후보로 둔 가지밭 크기의 개수 가 주어집니다.
다음 개 줄에는 키위새가 답을 알고 싶은 가지밭의 한 변의 길이 이 한 줄에 하나씩 주어집니다. 같은 이 두 번 이상 입력되는 경우는 없습니다. , 은 정수
출력
개의 줄에 걸쳐 한 변의 길이가 인 정사각형 가지밭에서 자랄 수 있는 모든 가지의 길이를 공백으로 구분하여 한 줄에 출력합니다. 가지의 길이는 오름차순으로 출력합니다.