#include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef vector VI; typedef pair pii; #define rep2(x,fr,to) for(int (x)=(fr);(x)<(to);(x)++) #define rep(x,to) for(int (x)=0;(x)<(to);(x)++) #define repr(x,fr,to) for(int (x)=(fr);(x)>=(to);(x)--) #define all(c) (c).begin(),(c).end() #define sz(v) (int)(v).size() #define debug(X) cout<<"["<<#X<<"]"<P; //int dx[4]={1,0,-1,0},dy[4]={0,1,0,-1}; // queue

que; #include int i,j,N,M; int E[MAX_N]; int ER[MAX_N]; int kumi[MAX_N][MAX_N]; int kitai=0; bool f=false; bool solve(){ f =false; int sum=0; rep (k,N)rep(l,N)kumi[k][l]=0; int k=0; rep(k,N-1){ rep2(l,0,k){ rep2(m,k+1,N){ // debug(k); // debug(l); // debug(m); if ((E[l]kumi[maxN][minN]){kumi[maxN][minN]=maxN;} if (maxN>kumi[maxN][midN]){kumi[maxN][midN]=maxN;} if (maxN>kumi[midN][minN]){kumi[midN][minN]=maxN;} } // debug (sum); } } //kの位置 //debug(sum); } rep (k,N)rep(l,N)sum+=kumi[k][l]; //debug(sum); if (kitai>N>>M; rep(j,M){rep(i,N){ cin>>E[i]; ER[E[i]-1]=i; } if (solve()) res2=j; } cout <