찬우는 지구평면설을 지지한다. 그래서 그는 지구평면설을 증명하기 위해 포스텍을 평평하게 만들 것이다! 포스텍의 지면 높이 분포는 N×N의 행렬로 표현된다. 찬우는 모든 i에 대해 아래의 두 작업을 전부 시행해 제각각인 포스텍의 지면 높이를 모두 동일하게 만들려고 한다.
이때 각각의 a_i가 정수일 필요는 없음에 유의하라.
하지만 찬우는 게으름뱅이라 자신이 곱해야 할 수의 종류가 많아지는 것을 좋아하지 않는다. 따라서 찬우는 a_1,a_2,...,a_2N의 값들을 적절히 정해 여기에 등장하는 서로 다른 수들의 개수가 최소가 되도록 하고 싶다. 찬우를 위해 수열 a에 등장하는 수의 종류를 최소한으로 만들어 주자!
첫 번째 줄에 N이 주어진다. (1≤N≤1,000)
두 번째 줄부터 N개의 줄에 걸쳐, 각 줄마다 N개의 정수 h_ij가 공백으로 구분되어 주어진다. h_ij는 i행 j열에 존재하는 포스텍의 지면 높이를 의미한다. (1≤i,j≤N;1≤h_ij≤109)
조건을 만족하는 a_1,a_2,...,a_2N중에서 등장하는 서로 다른 수의 개수의 최솟값을 출력한다. 만약 학교를 평평하게 만들 수 있는 a_1,a_2,...,a_2N이 존재하지 않는 경우 -1을 출력한다.
⚠️실제 포스텍의 환경과 다릅니다⚠️