#STK0000075. Phần tử lớn hơn tiếp theo (Next Greater Element)

Phần tử lớn hơn tiếp theo (Next Greater Element)

Phần tử lớn hơn tiếp theo (Next Greater Element)

Nguồn: Baekjoon Online Judge

Phiên bản: Phước Hưng OJ Extended

Đề bài

Cho dãy A1,A2,…,ANA_1,A_2,\ldots,A_N. Với mỗi vị trí ii, phần tử lớn hơn tiếp theo là phần tử đầu tiên ở bên phải có giá trị lớn hơn AiA_i. Nếu không có phần tử như vậy, kết quả tại vị trí ii là −1-1.

Input

Dòng đầu chứa số nguyên NN. Dòng thứ hai chứa NN số nguyên A1,A2,…,ANA_1,A_2,\ldots,A_N.

Output

In NN giá trị, trong đó giá trị thứ ii là phần tử lớn hơn tiếp theo của AiA_i, hoặc −1-1 nếu không tồn tại.

Subtask

  • Subtask 1 (30 điểm): N≤2000N\le2000; các điều kiện khác giữ nguyên.
  • Subtask 2 (70 điểm): 1≤N≤1061\le N\le10^6, 1≤Ai≤1061\le A_i\le10^6.

Ví dụ

Input

4
3 5 2 7

Output

5 7 7 -1

Giải thích

Dãy là 3,5,2,73,5,2,7.

  • Với A1=3A_1=3, phần tử đầu tiên bên phải lớn hơn 33 là 55, nên kết quả thứ nhất là 55.
  • Với A2=5A_2=5, phần tử 22 không lớn hơn 55, còn 7>57>5, nên kết quả thứ hai là 77.
  • Với A3=2A_3=2, phần tử ngay bên phải là 7>27>2, nên kết quả thứ ba là 77.
  • Với A4=7A_4=7, không còn phần tử nào ở bên phải, nên kết quả là −1-1.

Do đó chương trình in 5 7 7 -1.