어느 맑은 날, 농부 존은 이웃 농부 마커스의 소에게 납치당했다. 억지로 얻은 휴가 자체는 개의치 않았지만, 자기 소가 모두 한자리에 모이는 것만은 확인하고 싶었다.
존의 목초지에는 $1$번부터 $N$번까지 번호가 붙어 있고, 목초지마다 소가 한 마리씩 서 있다. 헛간은 $1$번 목초지에 있다. 각 목초지에는 표지판이 $M$개 세워져 있고, $i$번 목초지의 $j$번 표지판은 $S_{i,j}$번 목초지로 가는 길을 가리킨다. 표지판이 자기가 서 있는 목초지를 다시 가리키기도 한다.
마커스의 소는 존이 지시 목록을 하나만 적어 모든 소에게 전하도록 허락했다. 지시 하나는 표지판 번호 하나다. 소는 목록의 첫 번째 번호를 읽고, 자기가 서 있는 목초지에서 그 번호의 표지판을 찾아 표지판이 가리키는 길로 간다. 새 목초지에 도착하면 목록의 두 번째 번호를 읽고 같은 방식으로 다시 이동한다. 목록이 끝날 때까지 이 과정을 반복한다. 모든 소가 같은 목록을 같은 순서로 따르므로, 지시 하나마다 모든 소가 한 번씩 움직인다.
존은 우선 소 두 마리를 한 목초지에 모으는 데 지시가 몇 개 필요한지부터 알아보려 한다. 목초지 $a$와 $b$에 대해, $a$에서 출발한 소와 $b$에서 출발한 소가 목록을 끝까지 따랐을 때 같은 목초지에 서게 되는 목록의 최소 길이를 $d(a, b)$라고 하자. 중간에 두 소가 서로 다른 목초지에 있어도 되고, 목록을 다 따른 뒤의 위치만 같으면 된다.
모든 소를 헛간에 모으는 지시 목록이 존재한다는 것이 보장된다. 따라서 모든 쌍 $a$, $b$에 대해 $d(a, b)$가 정의된다.
첫째 줄에 목초지의 수 $N$과 표지판의 수 $M$이 주어진다. ($3 \le N \le 200$, $1 \le M \le 200$)
다음 $M$개 줄 중 $j$번째 줄에는 정수 $N$개 $S_{1,j}, S_{2,j}, \dots, S_{N,j}$가 주어진다. ($1 \le S_{i,j} \le N$) $S_{i,j}$는 $i$번 목초지의 $j$번 표지판이 가리키는 목초지 번호다.
모든 목초지 쌍 $a < b$에 대한 $d(a, b)$의 최댓값을 출력한다.