Cho một dãy các số đôi một khác nhau. Ta gắn dãy đó với một cây nhị phân theo quy tắc:
- Phần tử lớn nhất của dãy là gốc.
- Các phần tử nằm bên trái phần tử lớn nhất tạo cây con trái theo cùng quy tắc.
- Các phần tử nằm bên phải phần tử lớn nhất tạo cây con phải theo cùng quy tắc.
- Một phía không có phần tử thì cây con tương ứng rỗng.
Độ sâu của gốc bằng ; độ sâu của một đỉnh khác là số cạnh trên đường từ gốc đến đỉnh đó.
Với mỗi hoán vị, hãy in độ sâu của các phần tử theo đúng thứ tự chúng xuất hiện trong hoán vị.
Input
- Dòng đầu chứa số nguyên .
- Với mỗi bộ kiểm thử:
- Một dòng chứa .
- Một dòng chứa hoán vị của các số từ đến .
Output
- Với mỗi bộ kiểm thử, in một dòng gồm số nguyên; số thứ là độ sâu của phần tử ở vị trí .
Constraints
- .
- .
- Mỗi giá trị từ đến xuất hiện đúng một lần trong hoán vị.
Scoring
- Subtask ( điểm): và .
- Subtask ( điểm): Không có giới hạn bổ sung.
Example
Test 1
Input
1 5 2 5 1 4 3
Output
1 0 2 1 2
Giải thích: Giá trị là gốc. Bên trái chỉ có ; bên phải có gốc là , với hai con là và , nên các độ sâu lần lượt là .