매직 스퀘어

아직 제출이 없습니다시간 제한2초메모리 제한1024 MB

문제

매직 스퀘어는 다음 세 조건을 만족하는 N×NN \times N 행렬이다.

  1. 각 칸의 값은 11 이상 N2N^2 이하의 정수이다.
  2. 모든 칸의 값이 서로 다르다.
  3. NN개 행의 합, NN개 열의 합, 두 대각선의 합이 모두 같다.

다음 3×33 \times 3 행렬은 매직 스퀘어이다.

834
159
672

행의 합은 8+3+4, 1+5+9, 6+7+2이고, 열의 합은 8+1+6, 3+5+7, 4+9+2이며, 두 대각선의 합은 8+5+2, 4+5+6이다. 이 여덟 개의 합이 모두 15로 같다.

일부 칸만 채워진 N×NN \times N 행렬이 주어진다. 빈 칸을 알맞게 채워 매직 스퀘어를 만들 수 있는지 판정하라.

입력

첫째 줄에 행렬의 크기 NN (2N52 \le N \le 5)과 이미 채워진 칸의 개수 EE (0EN20 \le E \le N^2)가 공백을 사이에 두고 주어진다.

다음 EE개 줄에는 채워진 칸 하나의 행 번호 RR (1RN1 \le R \le N), 열 번호 CC (1CN1 \le C \le N), 값 VV (1VN21 \le V \le N^2)가 공백을 사이에 두고 주어진다. VV는 모두 서로 다르다.

출력

주어진 행렬을 매직 스퀘어로 완성할 수 있으면 yes를, 완성할 수 없으면 no를 한 줄에 출력한다.