Statement
题面语言
BCD 67에서 trashmouse는 이 문제를 Nostalgia (https://doj.kr/ko/problems/595) 로 착각해 틀렸다. 같은 실수를 하지 말아 보자.
trashmouse가 살고 있는 동네에는 개의 빌딩이 격자 모양으로 배열되어 있다. 행 열 빌딩의 높이를 라고 하자.
모든 빌딩의 높이는 서로 다르며, 가 정확히 한 번씩 등장한다.
앞에서 보았을 때 번째 열에서 보이는 높이는
이다. 이 개 값의 최솟값을 이라고 하자.
옆에서 보았을 때 번째 행에서 보이는 높이는
이다. 이 개 값의 최솟값을 라고 하자.
정수 가 주어진다. 가 되도록 빌딩 높이를 배치한 예를 하나 출력하여라. 그러한 배치가 존재하지 않으면 불가능하다고 판단하여라.
Input
입력은 다음과 같은 형식으로 주어진다.
각 케이스는 다음과 같은 형식으로 주어진다.
Output
각 테스트 케이스마다 조건을 만족하는 배치가 존재하지 않으면 한 줄에 -1을 출력한다.
배치가 존재한다면 개의 줄에 걸쳐 행렬 를 출력한다. 번째 줄에는 을 공백으로 구분하여 출력한다.
출력한 행렬에는 가 정확히 한 번씩 등장해야 하며, 문제에서 정의한 에 대해 를 만족해야 한다.
가능한 배치가 여러 가지라면 아무거나 출력해도 된다.
Constraints
- .
- .
- .
- 모든 테스트 케이스에 대한 의 합은 이하이다.
Subtasks
Samples
样例输入
1
2 1
样例输出
1 2
3 4
첫째 열과 둘째 열의 최댓값은 각각 이므로 이다. 첫째 행과 둘째 행의 최댓값은 각각 이므로 이다. 따라서 이다.