테라와 루루는 과수원을 운영하고 있다. 두 사람은 과수원에 사과나무를 새로 심으려 한다.
새로 나무를 심을 부지는 크기의 격자이다. 두 사람은 각 행과 각 열에 정확히 한 그루의 사과나무를 심기로 했다. 따라서 총 그루의 사과나무를 심게 된다.
루루는 평범하게 나무를 심는 대신 다음과 같은 규칙을 제안했다.
심은 사과나무 중 서로 다른 두 나무 사이의 맨해튼 거리를 모두 구했을 때, 가능한 거리의 집합이 정확히 가 되어야 한다.
두 격자 칸 과 사이의 맨해튼 거리는 로 정의한다.
즉, 어떤 두 나무 사이의 거리도 보다 클 수 없으며, 부터 까지의 모든 정수는 적어도 한 쌍의 나무 사이의 거리로 나타나야 한다.
테라는 루루가 제안한 규칙을 만족하도록 사과나무를 심을 수 있는지 알고 싶다. 조건을 만족하는 사과나무 배치를 구하여라.
첫째 줄에 테스트 케이스의 개수 가 주어진다. ()
각 테스트 케이스는 한 줄로 이루어져 있다. 격자의 크기 과 목표로 하는 최대 거리 가 공백으로 구분되어 주어진다. ()
각 테스트 케이스마다 조건을 만족하는 사과나무 배치가 존재한다면, 부터 까지의 정수로 이루어진 길이 의 순열 을 공백으로 구분하여 출력한다.
모든 테스트 케이스에 대한 의 합은 을 넘지 않는다.
이는 인 에 대해 번째 행의 번째 열에 사과나무를 심는다는 의미이다.
조건을 만족하는 배치가 여러 가지라면 그중 아무거나 출력한다.
조건을 만족하는 배치가 존재하지 않는다면 -1을 출력한다.
| 4 | 20 |
| 5 | 60 | 추가 제한이 없다. |