Mỗi lộ trình là một dãy các điểm dừng (mỗi điểm dừng được đánh số nguyên từ \(1\) đến \(2000\), một điểm có thể xuất hiện nhiều lần trong cùng một lộ trình). Hai lộ trình được so sánh bằng cách đếm số lần "gặp nhau": đó chính là độ dài dãy con chung dài nhất của hai dãy điểm dừng, vì mỗi lần gặp cả hai cùng có mặt ở một điểm dừng và các lần gặp phải diễn ra theo đúng thứ tự trên cả hai lộ trình.
Cho lộ trình của Uyên và một số lộ trình ứng viên. Hãy tìm lộ trình ứng viên có số lần gặp Uyên nhiều nhất và in ra số lần gặp đó.
Input
- Dòng đầu tiên chứa số nguyên \(d\) - số bộ dữ liệu.
- Mỗi bộ dữ liệu bắt đầu bằng một dòng mô tả lộ trình của Uyên. Tiếp đó là lần lượt các lộ trình ứng viên, mỗi lộ trình trên một dòng. Mỗi lộ trình là dãy các số nguyên dương cách nhau bởi dấu cách và kết thúc bằng số \(0\) (số \(0\) không thuộc lộ trình).
- Bộ dữ liệu kết thúc bằng một dòng chỉ chứa duy nhất số \(0\).
Output
Với mỗi bộ dữ liệu in ra một dòng là số lần gặp lớn nhất có thể.
Constraints
- \(1 \le d \le 10\)
- Mỗi lộ trình có từ \(2\) đến \(2000\) điểm dừng, mỗi điểm dừng là số nguyên từ \(1\) đến \(2000\).
- Mỗi bộ dữ liệu có từ \(1\) đến \(10\) lộ trình ứng viên.
Sample Input
3
4 8 15 16 23 42 0
8 4 15 23 0
42 16 8 0
4 4 4 4 4 8 15 16 23 42 42 0
0
5 6 5 6 0
6 5 6 5 0
1 2 0
0
7 7 7 0
1 2 3 0
7 1 7 7 7 0
0
Sample Output
6
3
3
Explanation
Ở bộ thứ nhất, lộ trình thứ ba cho dãy con chung 4 8 15 16 23 42 gồm \(6\) điểm. Ở bộ thứ hai, lộ trình đầu tiên cho dãy con chung 5 6 5 (hoặc 6 5 6) gồm \(3\) điểm. Ở bộ thứ ba, lộ trình thứ hai cho 7 7 7.
Bình luận
Đăng nhập để bình luận
Chưa có bình luận nào.