#GD0000009. Dãy con tăng tham lam (Greedily Increasing Subsequence)

Dãy con tăng tham lam (Greedily Increasing Subsequence)

Dãy con tăng tham lam (Greedily Increasing Subsequence)

Nguồn: Kattis

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

Đề bài

Cho một hoán vị A=(a1,…,aN)A=(a_1,\ldots,a_N) của các số 1,2,…,N1,2,\ldots,N. Xây dãy GIS như sau: lấy g1=a1g_1=a_1; sau mỗi phần tử đã chọn, tiếp tục từ vị trí kế tiếp và lấy phần tử đầu tiên lớn hơn phần tử vừa chọn. Khi không còn phần tử như vậy thì dừng. Hãy in GIS.

Input

Dòng đầu chứa NN. Dòng thứ hai chứa hoán vị a1,…,aNa_1,\ldots,a_N.

Output

Dòng đầu in độ dài GIS. Dòng thứ hai in các phần tử GIS theo thứ tự.

Subtask

Các giới hạn chung:

  • 1≤N≤2⋅1051 \le N \le 2\cdot10^5.

  • AA là một hoán vị của 1,2,…,N1,2,\ldots,N.

  • Subtask 1 (20 điểm): N≤20N \le 20

  • Subtask 2 (30 điểm): N≤5000N \le 5000

  • Subtask 3 (50 điểm): Không có ràng buộc bổ sung.

Ví dụ

Input

7
2 3 1 5 4 7 6

Output

4
2 3 5 7

Giải thích

Bắt đầu ở 22. Phần tử đầu tiên phía sau lớn hơn 22 là 33; tiếp theo là 55; tiếp theo là 77. Sau 77 không còn số lớn hơn.