#include <iostream>
#include <cstdio>
#include <algorithm>
#include <vector>
using namespace std;
int p[10000000],n,m;
int solve(int N,int M,std::vector<int> F,std::vector<std::vector<int> > S) {
n=N;
m=M;
for(int i=1; i<n; i++)cin>>F[i];
for(int i=1; i<=m; i++) {
for(int j=1; j<n; j++) {
p[S[i][j]]=max(p[S[i][j]],j);
}
}
int q=0;
int maxx=0;
while(maxx!=n-1) {
int x=maxx;
for(int i=1; i<=m; i++) {
for(int j=maxx+1; j<=p[maxx+1]; j++) {
if(x<=p[S[i][j]]) {
x=p[S[i][j]];
}
}
}
maxx=x;
++q;
}
return q;
}