라틴 방진

n x n 격자에 적힌 n진수 숫자를 읽고 라틴 방진인지 판별하며, 라틴 방진이면 축약형인지도 판정한다.

쉬움2구현배열시뮬레이션해시맵면접 대비아직 제출이 없습니다시간 제한1초메모리 제한512 MB

문제

라틴 방진은 서로 다른 숫자 nn개로 채운 n×nn \times n 배열이고, 각 숫자가 모든 행에 정확히 한 번, 모든 열에도 정확히 한 번 나온다. (이 이름은 레온하르트 오일러가 이 주제를 다룬 논문에서 라틴 문자를 쓴 데서 유래했다.)

맨 윗 행과 맨 왼쪽 열이 둘 다 자연 순서로 놓인 라틴 방진을 축소형이라고 한다. 숫자 집합의 자연 순서는 값이 커지는 순서다.

n×nn \times n 배열을 읽어 라틴 방진인지 판정하고, 라틴 방진이면 축소형인지까지 판정하는 프로그램을 작성하라.

입력

첫째 줄에 정수 nn (2n362 \le n \le 36)이 주어진다. 다음 nn개의 줄에는 각각 nn진법 숫자가 nn개씩 주어진다. 값이 10보다 작은 자리는 문자 0부터 9까지로 적고, 값이 10부터 35까지인 자리는 대문자 A부터 Z까지로 적는다. 입력에 나오는 문자는 모두 nn진법에서 유효하다. 예를 들어 nn이 3이면 배열을 나타내는 nn개의 줄에는 0, 1, 2만 나온다.

출력

주어진 배열이 라틴 방진이 아니면 한 줄에 No를 출력한다. 라틴 방진이지만 축소형이 아니면 Not Reduced를 출력한다. 축소형 라틴 방진이면 Reduced를 출력한다.