Table 7
시간 제한1초메모리 제한512 MB
각 행, 열, 주대각선이 모두 M의 배수인 N자리 수가 되고, 맨 앞자리가 0이 아니며 모든 수가 서로 다른 N x N 숫자 표를 만든다.
문제
주어진 정수 M에 대해, N행 N열의 정사각형 표(2 ≤ N ≤ 10)를 십진 숫자로 채우려고 한다. 각 행(왼쪽에서 오른쪽), 각 열(위에서 아래), 각 주대각선(위에서 아래)의 숫자로 만든 N자리 수는 모두 M의 배수여야 하고, 0으로 시작해서는 안 되며, 표 안에서 서로 달라야 한다.
예를 들어 M = 2에 대한 유효한 표는 다음과 같다.
2 3 4
5 6 6
8 2 0
M = 2에 대해 다음 표는 유효하지 않다.
4
N < 2이기 때문이다.
2 0
4 8
마지막 열과 주대각선 중 하나의 수가 0으로 시작하기 때문이다.
2 3 4
5 8 8
2 0 2
수 482가 표 안에 두 번 나타나기 때문이다.
항상 답을 구할 수 있는 것은 아니다. 예를 들어 M = 10인 경우 답이 없다.
입력
첫째 줄에 M이 주어진다.
출력
첫째 줄에 표의 행과 열의 수 N을 출력한다. i+1번째 줄(1 ≤ i ≤ N)에는 i번째 행의 원소 N개를 공백으로 구분해 출력한다.
제한
M = 125
힌트
주어지는 모든 입력에 대해 답이 적어도 하나 존재한다.