합성방진

시간 제한1초메모리 제한1024 MB

요약
가로와 세로로 이웃한 두 수의 합이 모두 합성수가 되는 n x n 라틴 방진을 하나 만든다.
난이도

어려움10점 중 8점

유형
수학, 구현, 조합론, 완전 탐색
정답자
아직 제출이 없습니다

문제

크기 nn의 합성방진은 다음의 조건을 충족하는 n×nn\times n의 2차원 배열이다.

  • 각 가로줄과 각 세로줄에는 11 이상 nn 이하의 정수가 각각 정확히 한 번씩 등장한다.
  • 가로나 세로 방향으로 이웃한 두 수의 합은 모두 합성수이다.

크기 nn의 합성방진을 아무거나 하나 찾아 출력하시오.

입력

첫째 줄에 정수 nn이 주어진다. (8≤n≤5008\le n\le 500)

출력

크기 nn의 합성방진을 출력한다. nn줄에 걸쳐서, 각 줄에 nn개의 정수를 공백으로 구분하여 출력한다. 그러한 합성방진이 존재하지 않으면 -1을 출력한다.

예제1

  1. 예제 1

    입력
    8
    
    예상 출력
    8 6 3 1 5 7 2 4
    2 4 6 8 1 3 7 5
    7 5 4 2 8 6 3 1
    5 7 2 4 6 8 1 3
    4 2 8 6 3 1 5 7
    6 8 1 3 7 5 4 2
    3 1 5 7 2 4 6 8
    1 3 7 5 4 2 8 6