SHUFFLE
Cho hai bộ gen, mỗi bộ gen không được biểu diễn bởi một dãy các chữ cái A, T, G, X (hoặc C), mà nó được biểu diễn bởi một dãy số nguyên dương. Mỗi bộ gen trong hai bộ gen sẽ chứa N gen được đánh số từ 1 đến N được sắp xếp theo một thứ tự nào đó, tức là dãy số biểu diễn một bộ gen là một hoán vị của các số nguyên dương từ 1 đến N.
Đoạn gen i-j được gọi là đoạn gen giống nhau của hai bộ gen nếu tập hợp các gen từ vị trí i đến vị trí j của bộ gen thứ nhất bằng tập hợp các gen từ vị trí i đến vị trí j của bộ gen thứ hai. Các vị trí được đánh số từ 1 đến N.
Yêu cầu: Tách hai bộ gen thành các đoạn gen i-j giống nhau sao cho số đoạn gen tách được là nhiều nhất.
Dữ liệu:
Dòng đầu tiên chứa số nguyên dương N (1 ≤ N ≤ 10^5 ) là số lượng gen trong một bộ gen.
Hai dòng tiếp theo, mỗi dòng chứa N số nguyên dương là một hoán vị của các số nguyên dương từ 1 đến N biểu diễn một bộ gen.
Kết quả:
Một dòng duy nhất chứa các đoạn gen i-j giống nhau mà ta có thể tách ra được, các đoạn gen được sắp xếp theo thứ tự i tăng dần. Các đoạn gen cách nhau đúng một dấu cách.
Sample Input
10
1 2 3 6 4 7 5 8 9 10
3 2 1 4 5 6 7 8 10 9
Sample Output
1-3 4-7 8-8 9-10
Sample Input
5
2 1 4 5 3
2 4 5 3 1
Sample Output
1-1 2-5
Comments