atcoder#ARC133B. [ARC133B] Dividing Subsequence

[ARC133B] Dividing Subsequence

Score : 500500 points

Problem Statement

Given are permutations P=(P1,P2,,PN)P=(P_1,P_2,\cdots,P_N) and Q=(Q1,Q2,,QN)Q=(Q_1,Q_2,\cdots,Q_N) of (1,2,,N)(1,2,\cdots,N).

Snuke is going to extract (not necessarily contiguous) subsequences from PP and QQ. Here, the subsequences must satisfy the conditions below.

  • The length of the subsequence extracted from PP and that extracted from QQ are the same. Below, let kk be this length.
  • Let a=(a1,a2,,ak)a=(a_1,a_2,\cdots,a_k) and b=(b1,b2,,bk)b=(b_1,b_2,\cdots,b_k) be the subsequences extracted from PP and QQ, respectively. Then, for each 1ik1 \leq i \leq k, bib_i is a multiple of aia_i.

Find the maximum possible length of each subsequence extracted by Snuke.

Constraints

  • 1N2000001 \leq N \leq 200000
  • PP is a permutation of (1,2,,N)(1,2,\cdots,N).
  • QQ is a permutation of (1,2,,N)(1,2,\cdots,N).
  • All values in input are integers.

Input

Input is given from Standard Input in the following format:

NN

P1P_1 P2P_2 \cdots PNP_N

Q1Q_1 Q2Q_2 \cdots QNQ_N

Output

Print the answer.

4
3 1 4 2
4 2 1 3
2

If we extract the subsequence (1,2)(1,2) from PP and (4,2)(4,2) from QQ, they satisfy the conditions. It is impossible to extract subsequences of length 33 or greater to satisfy the conditions, so the answer is 22.

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