#YHDF1822. 最长公共子序列(LCS)(2)

最长公共子序列(LCS)(2)

问题描述

给出 1n1 \sim n 的两个排列 P1P_1P2P_2,求它们的最长公共子序列。 和最长公共子序列(LCS)(1)问题不同的是,本题的 nn51000005 \sim 100000 之间。

输入格式

第一行是一个数 nn ;(nn51000005 \sim 100000 之间的整数) 接下来两行,每行为 nn 个数,为自然数 1n1 \sim n 的一个排列(1n1 \sim n 的排列每行的数据都是 1n1 \sim n 之间的数,但顺序可能不同,比如 151 \sim 5 的排列可以是:11 22 33 44 55,也可以是 22 55 44 33 11)。

输出格式

一个整数,即最长公共子序列的长度。

数据范围

数据范围 对于 50%50\% 的数据,n1000n≤1000; 对于 100%100\% 的数据,n100000n≤100000

样例

输入

5 
3 2 1 4 5
1 2 3 4 5

输出

3