시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 (추가 시간 없음) 1024 MB42250.000%

문제

Me kõik tunneme funktsioone $\min$ ja $\max$, mis leiavad vastavalt vähima ja suurima hulka kuuluva väärtuse. Vaatleme nüüd funktsiooni $\text{mex}$, mis arvu\-hulgale rakendatuna tagastab minimaalse hulka mittekuuluva mittenegatiivse täisarvu (funktsiooni nimi tulebki ingliskeelsest väljendist minimal excluded). Näiteks $\text{mex}(\{1,2,3\}) = 0$ ja $\text{mex}(\{0,1,2,4,5\}) = 3$.

Magnus tutvus funktsiooni $\text{mex}$ definitsiooniga ja leiutas kohe sellel põhineva mängu. Selles mängus saab mängija $N$-elemendilise mittenegatiivsete täisarvude jada $A$ ja koostab selle põhjal jada $B$, korrates järgmisi samme, kuni jadas $A$ on veel elemente:

  1. Vali positiivne täisarv $k$, mis ei ületa jada $A$ pikkust.
  2. Lisa jada $B$ lõppu jada $A$ esimese $k$ elemendi $\text{mex}$.
  3. Kustuta jadast $A$ selle esimesed $k$ elementi.

Mängija ülesanne on valida igal sammul selline $k$ väärtus, et saadud jada $B$ oleks kõigi võimalike hulgas leksikograafiliselt maksimaalne. Tuletame meelde, et jada $x = x_1, x_2, \ldots, x_n$ on jadast $y = y_1, y_2, \ldots, y_m$ leksikograafiliselt suurem, kui

  • leidub selline $i$, et $i \le n$ ja $i \le m$ ning $x_1 = y_1$, $x_2 = y_2$, $\ldots$, $x_{i-1} = y_{i-1}$ ja $x_i > y_i$ või
  • $n > m$ ja $x_1 = y_1$, $x_2 = y_2$, $\ldots$, $x_m = y_m$.

입력

Sisendi esimesel real on jada $A$ pikkus $N$ ($1 \le N \le 500\,000$) ja teisel real $N$ tühikutega eraldatud täisarvu: jada $A$ elemendid $A_i$ ($0 \le A_i \le N$).

출력

Väljundi esimesele reale väljastada leitud jada $B$ pikkus $M$ ja teisele reale tühikutega eraldatult jada $B$ elemendid $B_1, B_2, \ldots, B_M$.

예제 입력 1

5
1 0 2 0 3

예제 출력 1

1
4

Leksikograafiliselt maksimaalse jada $B$ saamiseks tuleb kohe esimesel sammul valida $k = 5$ ja rakendada funktsiooni $\text{mex}$ kogu jadale $A$. Tulemus on kõigi võimalike hulgas leksikograafiliselt maksimaalne, sest mistahes $k < 5$ valimisel saame jada $B$, mis algab $4$-st väiksema arvuga, ja iga $4$-st väiksema arvuga algav jada on leksikograafiliselt väiksem kui leitud $B$.

예제 입력 2

8
2 2 3 4 0 1 2 0

예제 출력 2

2
5 1

Leksikograafiliselt maksimaalse jada $B$ saamiseks on kaks võimalust: võib valida algul $k = 6$ ja siis $k = 2$ või algul $k = 7$ ja siis $k = 1$.