Processing math: 100%

111 - History Grading

在資訊科學中有一些是關於在某些條件限制下,找出一些計算的最大值。

以歷史考試來說好了,學生被要求對一些歷史事件根據其發生的年代順序來排列。所有事件順序都正確的學生無疑的可以得滿分。但是那些沒有全對的人又該如何給分呢?以下有 2 種可能的給分方式:

  1. 每個與標準答案的順序相同的事件得 1 分
  2. 每個在最長 (但不一定要連續) 的序列事件中,其相對的順序亦可以在標準答案發現者,每個事件得 1 分。

舉例說明:如果有 4 個事件其發生時間的順序依次是 1 2 3 4 (就是標準答案啦,意思是第 1 個事件發生順序為 1、第 2 個事件發生的順序為 2、…)。所以如果學生回答此 4 個事件發生的順序依次是 1 3 2 4 的話,根據上面第 1 種方法可以得 2 分 (第 1 個及第 4 個事件)。但是如果以上面第 2 種方法可以得 3 分 (1 2 4 或者 1 3 4 其相對的順序可以在標準答案發現)

在本問題中,請你寫一個程式以第 2 個方法算出學生該得多少分。

Input

只考一次試,所以輸入的第1列有一個整數 n (2n20) 代表此次歷史考試有多少個事件要排序。第 2 列為標準答案,有 n 個正整數 c1,c2,,cn (其內容為 1n 的某種排列),c1 代表第 1 個事件發生的順序,c2 代表第 2 個事件發生的順序,依此類推。

從第3列開始每列為一學生的答案,每列有 n 個正整數r1,r2,,rn (其內容亦為 1n 的某種排列),r1 代表學生回答第 1 個事件發生的順序,r2代表學生回答第 2 個事件發生的順序,依此類推。

Output

對每一學生的答案,輸出其所得的分數。

Sample Input

10
3 1 2 4 9 5 10 6 8 7
1 2 3 4 5 6 7 8 9 10
4 7 2 3 10 6 9 1 5 8
3 1 2 4 9 5 10 6 8 7
2 10 1 3 8 4 9 5 7 6

Sample Output

6
5
10
9