【題目敘述】https://zerojudge.tw/ShowProblem?problemid=a676
"""
注意輸入。輸入給的是編號從1~n號的事件是在哪時執行的順序。
例如:1 3 4 2 5並不是代表1號事件做完換3號事件,3號事件做完換4號事件這樣以此類推,而是代表1號事件會在順序中的第1個位置,2號事件會在順序中的第3個位置,3號事件會在順序中的第4個位置這樣以此類推。
"""
n = int(input())
target = None
while True:
try:
line = list(map(int, input().split()))
line.insert(0, 0)
ans = line[:]
for i, l in enumerate(line):
ans[l] = i
if target is None:
target = ans[:]
continue
dp = [[0] * (n+1) for i in range(n+1)]
for i in range(1, n+1):
for j in range(1, n+1):
if target[i]==ans[j]:
dp[i][j] = dp[i-1][j-1] + 1
else:
dp[i][j] = max(dp[i-1][j], dp[i][j-1])
print(dp[n][n])
except:
break