Trong một vương quốc xa xôi, nơi những con số không chỉ tồn tại để đếm và tính toán, mà còn mang trong mình những tính cách và sứ mệnh bí ẩn, có một truyền thuyết kể về "Sự Diêu Hóa của Số". Theo truyền thuyết này, mỗi con số trong vương quốc đều có khả năng biến đổi năng lượng, và khi chúng gặp nhau theo một trật tự nhất định, một phép màu lại được tạo ra.
Người xưa kể rằng, có một tập hợp những con số đặc biệt đôi một khác nhau, được gọi là ~A~ có độ dài ~m~. Đó là những con số được sắp xếp theo một trật tự riêng biệt, nơi mỗi con số có khả năng "gọi mời" con số lớn hơn nằm bên phải nó - được gọi là "phần tử lớn hơn kế tiếp". Tuy nhiên, không phải lúc nào lời mời ấy cũng thành công; có những con số, dù cố gắng, lại chẳng thể tìm thấy người bạn đồng hành phù hợp, và chúng buộc phải đứng một mình giữa dòng chảy của các con số.
Thêm phần ly kỳ hơn, tồn tại thêm một tập hợp nhỏ hơn, mang tên ~B~ có độ dài ~n~, được chọn lọc ra từ ~A~ (có thể chọn một số trong tập hợp ~A~ nhiều lần). Những con số trong ~B~ đều là những "nhân vật chính" của câu chuyện, và sứ mệnh của chúng là tìm kiếm người bạn "lớn hơn kế tiếp" của chính mình trong vương quốc rộng lớn của ~A~.
Nhiệm Vụ Của Người Hùng: Với vai trò là một chiến binh trí tuệ, bạn được giao nhiệm vụ giải mã bí ẩn của "phần tử lớn hơn kế tiếp" theo cách sau:
- Xác định vị trí của mỗi nhân vật:
- Với mỗi con số ~x~ trong ~B~ (với chỉ số từ ~1~ đến ~n~), tìm vị trí của nó trong tập hợp ~A~.
- Khám phá lời mời của các số:
- Sau khi xác định được vị trí của ~x~ trong ~A~, hãy tìm phần tử đầu tiên bên phải của ~x~ mà có giá trị lớn hơn ~x~. Đây chính là người bạn "lớn hơn kế tiếp" của ~x~ trong vương quốc của các con số.
- Phép màu của sự biến hóa:
- Nếu tồn tại một con số như vậy, ghi nhận nó như là kết quả của ~x~.
- Nếu không tìm được, ghi nhận rằng ~x~ không tìm thấy người bạn đồng hành phù hợp và trả về giá trị ~-1~.
- Bộ sưu tập kết quả:
- Cuối cùng, bạn cần xây dựng một danh sách với độ dài bằng ~n~, sao cho phần tử thứ ~i~ chứa phần tử "lớn hơn kế tiếp" của ~B_i~, hay là ~-1~ nếu không có.
Input
- Dòng đầu: Gồm một hai số nguyên dương ~m~ và ~n~. ~(m, n \leq 10^6)~
- Dòng thứ hai: Gồm ~m~ số nguyên dương ~A_i~ có giá trị không vượt quá ~10^9~.
- Dòng cuối cùng: Gồm ~n~ số nguyên dương ~B_i~ được chọn lọc ra từ ~A~.
Output
- Một dòng duy nhất là danh sách gồm ~n~ số nguyên được cách nhau bởi khoảng trắng.
Sample Input
4 3
1 3 4 2
4 1 2
Sample Output
-1 3 -1
Explanation
- Với con số ~4~, tìm được tại vị trí thứ ~3~: không có con số nào bên phải có giá trị lớn hơn ~4~, nên kết quả là ~-1~.
- Với con số ~1~, tìm được tại vị trí thứ ~1~: con số đầu tiên bên phải có giá trị lớn hơn là ~3~, nên kết quả là ~3~.
- Với con số ~2~, tìm được tại vị trí thứ ~4~: không có con số nào bên phải, nên kết quả là ~-1~.
Constraints
- ~60\%~ số test đầu tiên tương ứng với ~60\%~ số điểm có ~m, n \leq 5 \times 10^3~.
- ~40\%~ số test cuối cùng tương ứng với ~40\%~ số điểm không có ràng buộc gì thêm.
Bình luận