1 #include<stdio.h>
2 #include<string.h>
3 int main()
4 {
5 int a[50],b[50],c[50],d[50][50],i,j,n,k,t,maxd;
6 scanf("%d",&n);
7 for(i=0;i<n;i++)
8 {
9 scanf("%d",&t);
10 c[t-1]=i;
11 }
12 while(scanf("%d",&t)!=EOF)
13 {
14 a[t-1]=0;
15 for(i=1;i<n;i++)
16 {
17 scanf("%d",&t);
18 a[t-1]=i;
19 }
20 for(i=0;i<n;i++)
21 for(j=0;j<n;j++)
22 {
23 if(c[i]==a[j])
24 b[j]=i;
25 }
26 memset(d,0,sizeof(d));
27 maxd=0;
28 for(k=1;k<=n;k++)
29 {
30 for(j=k;j<n;j++)
31 {
32 if(b[j]>b[k-1]&&d[k-1][j]<d[k-1][k-1]+1)
33 d[k][j]=d[k-1][k-1]+1;
34 else
35 d[k][j]=d[k-1][j];
36 if(maxd<d[k][j])
37 maxd=d[k][j];
38 }
39
40 }
41 /* for(i=1;i<=n;i++)
42 {
43 for(j=0;j<n;j++)
44 printf("%d ",d[i][j]);
45 printf("\n");
46 }
47 printf("\n");*/
48 printf("%d\n",maxd+1);
49 }
50 return 0;
51 }