시간 제한
메모리 제한
시간 제한
1초
메모리 제한
128 MB
빙고 게임에서 진행자는 숫자를 하나씩 부르고, 각 플레이어는 자신의 빙고판에서 그 숫자를 찾는다.
각 플레이어의 빙고판은 N행 N열이며, 1부터 N^2까지의 숫자가 각각 한 번씩 적혀 있다.
진행자가 숫자를 부를 때마다, 플레이어는 지금까지 불린 숫자 중 가장 최근 N개를 본다. 빙고판의 어떤 행이 이 N개의 숫자를 정확히 같은 순서로 가지고 있으면, 그 행에 대해 1점을 얻는다.
N이 3이고 어떤 플레이어가 다음과 같은 빙고판을 가지고 있다고 하자.
| 1 | 3 | 7 |
| 6 | 4 | 5 |
| 2 | 8 | 9 |
동혁이는 빙고 게임에서 늘 꼴등을 한다. 오늘만은 1등을 하겠다고 다짐한 동혁이는 진행자가 숫자를 부를 전체 순서를 알아냈다. 이 순서가 주어졌을 때, 빙고판의 숫자를 적절히 배치해서 얻을 수 있는 최대 점수를 구하시오.
첫째 줄에 빙고판의 크기 N과 진행자가 부를 숫자의 개수 B가 주어진다. (2 <= N <= 4, 1 <= B <= 10000)
다음 B개 줄에는 진행자가 부르는 숫자가 순서대로 하나씩 주어진다. 모든 숫자는 1 이상 N^2 이하이다.
얻을 수 있는 최대 점수를 출력한다.