Points:
20 (p)
Time limit:
2.0s
Memory limit:
256M
Input:
stdin
Output:
stdout
Alice và Bob là đôi bạn thân và đều rất đam mê Toán, Tin học. Alice đưa ra một thử thách cho Bob như sau:
Alice đưa cho Bob hai dãy số \(a_1, a_2, \ldots, a_n\) và \(b_1, b_2, \ldots, b_m\) lần lượt gồm \(n\) và \(m\) số nguyên. Nhiệm vụ của Bob là lấy một đoạn liên tiếp các phần tử trong dãy \(a\) ghép với một đoạn cuối nào đó của dãy \(b\) để nhận được một dãy không giảm: \(a_1 \leq a_2 \leq \cdots \leq a_i \leq b_j \leq b_{j+1} \leq \cdots \leq b_m\) với số phần tử lớn nhất có thể được.
Input Specification
Gồm bốn dòng:
- Dòng đầu tiên chứa số nguyên dương \(n\);
- Dòng thứ hai chứa \(n\) số nguyên \(a_1, a_2, \ldots, a_n\);
- Dòng thứ ba chứa số nguyên dương \(m\);
- Dòng cuối cùng chứa \(m\) số nguyên dương \(b_1, b_2, \ldots, b_m\).
(Hai số liên tiếp trên cùng dòng ngăn cách nhau bởi một dấu khoảng trắng)
Output Specification
In ra trên một dòng kết quả là số phần tử nhiều nhất của dãy mà Bob có thể nhận được.
Constraints
- \(1 \leq n, m \leq 10^5\);
- Mỗi số nguyên trong các dãy có giá trị tuyệt đối không quá \(10^9\).
Input Sample
3
1 4 9
4
5 2 4 5
Output Sample
4
Comments