서로소 스도쿠
시간 제한1초메모리 제한1024 MB
N^2 x N^2 크기 격자의 빈칸을 채워 같은 행, 열, 블록에 있는 두 수가 모두 서로소가 되도록 만든다.
문제

위 그림은 서로소 스도쿠의 예시이다.
서로소 스도쿠는 스도쿠의 변형으로 간단한 숫자 퍼즐이다. 서로소 스도쿠는 크기의 보드에서 진행되며 각 칸에는 정수 하나를 쓸 수 있다. 이 보드를 크기의 정사각 부분으로 나눈 개의 영역들을 '블록'이라고 한다. 서로소 스도쿠의 목표는 다음 규칙을 만족하도록 빈칸에 수를 작성하는 것이다.
- 모든 수는 이상 이하의 정수이다.
- 한 행에서 서로 다른 두 위치에 적힌 두 수 는 서로소이다. 즉 이다.
- 한 열에서 서로 다른 두 위치에 적힌 두 수 는 서로소이다. 즉 이다.
- 한 블록에서 서로 다른 두 위치에 적힌 두 수 는 서로소이다. 즉 이다.
일부 칸이 작성된 서로소 스도쿠를 입력받았을 때, 규칙에 맞게 모든 빈칸에 수를 채우는 프로그램을 작성하시오.
입력
첫 번째 줄에 이 주어진다.
두 번째 줄부터 개의 줄에 걸쳐 서로소 스도쿠 보드가 주어진다. 그중 번째 줄에는 개의 정수가 공백으로 구분되어 주어진다. 이 중 번째 수 는 번째 행 번째 열에 있는 수를 의미한다. 가 인 경우는 번째 행 번째 열이 빈칸임을 의미한다.
입력으로 주어지는 서로소 스도쿠는 항상 규칙을 만족하며 빈칸이 항상 개 이상이다. 모든 빈칸을 채울 수 없는 경우의 입력은 주어지지 않는다.
출력
개의 줄에 걸쳐 모든 빈칸을 채운 서로소 스도쿠를 출력한다. 그중 번째 줄에는 개의 정수를 공백으로 구분하여 출력한다. 이 중 번째 수 는 번째 행 번째 열에 있는 수를 의미한다.
서로소 스도쿠의 모든 칸을 채우는 방법이 여럿인 경우는 그중 아무거나 하나를 출력한다.