Đối với một phần tử trong mảng, nếu nó khác không và lớn hơn hẳn tất cả các phần tử đứng trước nó, thì nó được coi là một phần tử đẹp. Chúng ta định nghĩa độ đẹp của một mảng là số lượng phần tử đẹp trong mảng.
Cho một hoán vị độ dài $n$. Bạn muốn tối đa hóa độ đẹp của nó bằng cách thay đổi một số phần tử đẹp thành 0. Lưu ý rằng một số phần tử có thể trở nên đẹp sau thao tác của bạn, và nó sẽ trở thành mục tiêu cho thao tác của bạn.
Vì việc sửa đổi mảng thật mệt mỏi, bạn quyết định tối đa hóa độ đẹp của mảng bằng cách sử dụng số thao tác tối thiểu có thể.
Nếu có nhiều cách, hãy in ra một cách bất kỳ.
Dữ liệu vào
Có nhiều bộ dữ liệu kiểm thử.
Dòng đầu tiên chứa một số nguyên $t$ ($1 \leq t \leq 10^6$), số lượng bộ dữ liệu. Với mỗi bộ dữ liệu:
Dòng đầu tiên chứa một số nguyên $n$ ($1 \leq n \leq 10^6$), kích thước của hoán vị.
Dòng tiếp theo chứa $n$ số nguyên $p_i$ ($1 \leq p_i \leq n$), các phần tử của hoán vị. Dữ liệu đảm bảo rằng tất cả $p_i$ trong một bộ dữ liệu là phân biệt.
Dữ liệu đảm bảo $\sum n \leq 10^6$.
Dữ liệu ra
Với mỗi bộ dữ liệu:
Dòng đầu tiên chứa hai số nguyên $b$, $c$, lần lượt là độ đẹp lớn nhất của mảng sau khi sửa đổi và số thao tác tối thiểu.
Dòng thứ hai chứa $c$ số nguyên $o_i$, biểu diễn dãy thao tác. Thao tác $o_i$ có nghĩa là thay đổi phần tử thứ $o_i$ thành 0. Bạn phải đảm bảo rằng phần tử thứ $o_i$ là phần tử đẹp trước thao tác thứ $i$ của bạn.
Nếu có nhiều cách, hãy in ra một cách bất kỳ.
Ví dụ
Dữ liệu vào 1
2 3 3 1 2 3 1 2 3
Dữ liệu ra 1
2 1 1 3 0