정휘는 정수로 구성된 N×N 크기의 배열의 가장 왼쪽 위 칸에서 가장 오른쪽 아래 칸까지 최단 경로로 이동하려고 한다. 한 칸에서 다른 칸으로 이동할 때 서로 변을 공유하는 칸으로만 이동할 수 있다.
정휘는 배열에서 이동하면서 만난 정수들을 순서대로 모아서 성현이에게 선물로 주려고 한다. 성현이는 증가하는 부분 수열의 길이가 긴 수열을 좋아하기 때문에, 정휘는 최장 증가 부분 수열의 길이가 최대인 수열을 만들어서 주려고 한다.
정휘는 문제를 만들어야 하기 때문에 경로를 찾을 여유가 없어서 여러분들에게 도움을 요청했다. N×N 크기의 배열이 주어지면 만들 수 있는 수열 중 최장 증가 부분 수열의 길이의 최댓값을 대신 구해보자.
첫째 줄에 N이 주어진다. (1≤N≤100)
이어 N개의 줄에, 각각 N개의 정수가 공백을 사이에 두고 주어진다. 각 정수는 1 이상 10,000 이하다.
최장 증가 부분 수열의 길이의 최댓값을 출력한다.