题目描述
Snuke有两个排列(P0,P1,cdots,PN−1)和(Q0,Q1,cdots,QN−1),它们是(0,1,cdots,N−1)的排列。
现在,他将根据以下条件创建(0,1,cdots,N−1)的新排列A和B:
- 对于每个i(0leqileqN−1),Ai应该是i或者Pi。
- 对于每个i(0leqileqN−1),Bi应该是i或者Qi。
我们定义排列A和B之间的距离为满足AineqBi的索引i的数量。找出A和B之间的最大可能距离。
约束条件
- 1leqNleq100000
- 0leqPileqN−1
- P0,P1,cdots,PN−1都不相同。
- 0leqQileqN−1
- Q0,Q1,cdots,QN−1都不相同。
- 输入中的所有值均为整数。
输入
输入通过标准输入给出,格式如下:
N
P0 P1 cdots PN−1
Q0 Q1 cdots QN−1
输出
打印A和B之间的最大可能距离。
示例输入 1
4
2 1 3 0
0 2 3 1
示例输出 1
3
例如,如果我们设A=(0,1,2,3)和B=(0,2,3,1),则距离为3,这是可能的最大结果。
示例输入 2
10
0 4 5 3 7 8 2 1 9 6
3 8 5 6 4 0 2 1 7 9
示例输出 2
8
示例输入 3
32
22 31 30 29 7 17 16 3 14 9 19 11 2 5 10 1 25 18 15 24 20 0 12 21 27 4 26 28 8 6 23 13
22 3 2 7 17 9 16 4 14 8 19 26 28 5 10 1 25 18 15 13 11 0 12 23 21 20 29 24 27 6 30 31
示例输出 3
28