Có ~n~ ô đỗ xe tạo thành hình vòng cung được đánh số từ ~1~ đến ~n~ theo chiều kim đồng hồ. Có ~n~ chiếc xe đến đỗ xe, xe nào đến trước thì được ưu tiên đỗ trước. Tại thời điểm ~i~, xe thứ ~i~ đến ô thứ ~p_i~ và muốn đỗ xe ở đó, nếu tại ô thứ ~p_i~ đã có xe đỗ trước đó thì xe thứ ~i~ sẽ đi theo chiều kim đồng hồ cho đến khi gặp được ô đỗ xe đầu tiên không có xe và thực hiện đỗ xe ở đó.
Input
Dòng đầu tiên là số nguyên dương ~n~ — số lượng ô đỗ xe và số xe đến đỗ (~1 \le n \le 3 \cdot 10^5~).
Dòng thứ hai gồm ~n~ số nguyên dương ~p_i~ — ô đỗ xe mà xe thứ ~i~ muốn đỗ (~1 \le p_i \le n~).
Output
In ra ~n~ số nguyên dương, số thứ ~i~ là số hiệu của ô đỗ xe mà xe thứ ~i~ sẽ đỗ.
Scoring
Subtask | Điểm | Ràng buộc |
---|---|---|
~1~ | ~10 \%~ | ~p_i = p_{i+1}~ ~\forall i \in~ [~1, n-1~] |
~2~ | ~40 \%~ | ~n \le 10000~ |
~3~ | ~50 \%~ | Không có ràng buộc gì thêm |
Sample Input 1
3
2 2 2
Sample Output 1
2 3 1
Sample Input 2
1
1
Sample Output 2
1
Sample Input 3
10
4 5 3 2 1 1 5 8 9 10
Sample Output 3
4 5 3 2 1 6 7 8 9 10
Sample Input 4
15
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Sample Output 4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Notes
Giải thích test ví dụ: Xe ~1~ là xe đến đầu tiên và được đỗ tại ô ~2~. Sau đó xe ~2~ đến, do ô ~2~ đã được xe ~1~ đỗ nên xe ~2~ đi theo chiều kim đồng hồ và đỗ vào ô đầu tiên chưa có xe đỗ là ô ~3~. Cuối cùng, xe ~3~ đến và phải đỗ vào ô ~1~ do cả ô ~2~ và ô ~3~ đã có xe đỗ.
Bình luận