Pentru o permutare a numerelor de la 1 la N și o poziție K, (1 ≤ K ≤ N), notăm cu BestK numărul minim de interschimbări (a valori situate pe poziții consecutive) necesare pentru a se obține o permutare descrescătoare de la poziția 1 la poziția K și crescătoare de la poziția K la poziția N. Se dă o permutare.
Se cere să se rezolve una dintre urmatoarele două cerințe:
- Pentru o poziție
Kdată să se calculezeBestK. - Pentru toate pozițiile
Kde la1laNsă se calculezeBestK.
Date de intrare
Prima linie conține trei numere întregi separate prin spațiu C, N și K. C reprezintă cerința și poate lua valoarea 1 sau valoarea 2. N reprezintă ordinul (lungimea) permutării. Dacă C = 1 atunci 1 ≤ K ≤ N reprezintă poziția pentru care trebuie calculat BestK. Dacă C = 2 atunci K = 0 și BestK trebuie calculat pentru toate pozițiile de la 1 la N. A doua linie conține N numere întregi separate prin spațiu reprezentând elementele permutării.
Date de ieșire
Dacă C = 1 se va rezolva cerința 1. În acest caz pe prima linie se va afișa un singur număr: BestK. Dacă C = 2 se va rezolva cerința 2. În acest caz pe prima linie se vor afișa N numere separate prin spațiu: .
Restricții și precizări
1 ≤ C ≤ 21 ≤ N ≤ 100 000- Dacă
C = 1, atunci1 ≤ K ≤ N. - Dacă
C = 2, atunciK = 0. - pentru orice
icu1 ≤ i ≤ Nși sunt distincte.
Subtask 1 (2 puncte)
C = 1, N ≤ 3000, K = 1
Subtask 2 (4 puncte)
C = 1, N ≤ 100 000, K = 1
Subtask 3 (2 puncte)
C = 1, N ≤ 3000, K = N
Subtask 4 (4 puncte)
C = 1, N ≤ 100 000, K = N
Subtask 5 (9 puncte)
C = 2, N ≤ 8
Subtask 6 (11 puncte)
C = 2, N ≤ 18
Subtask 7 (13 puncte)
C = 2, N ≤ 60
Subtask 8 (14 puncte)
C = 2, N ≤ 200
Subtask 9 (15 puncte)
C = 2, N ≤ 3000
Subtask 10 (26 puncte)
C = 2, N ≤ 100 000
Exemple
stdin
1 7 1
1 2 5 6 7 4 3
stdout
7
stdin
2 7 0
2 5 1 6 7 4 3
stdout
9 7 6 7 8 10 12