Ordinare i numeri

Data una serie di n numeri interi, l’obiettivo è quello di ordinarli in ordine crescente. In ogni operazione, è consentito scegliere un elemento e spostarlo all'inizio dell’array. Qual è il numero minimo di operazioni necessario per ottenere l’ordinamento?

Input

La prima riga dell’input contiene un singolo intero n (1 ≤ n ≤ ).

La riga successiva contiene n numeri interi separati da uno spazio, (1 ≤ ).

Output

Il programma deve mostrare il numero minimo di operazioni richieste per ordinare l’array.

Esempi

Input

Output

6 11 13 15 12 14 16

4

10 1 3 2 4 2 4 4 5 9 10

3

8 3 5 1 5 5 6 7 10

1

Spiegazione del 1° esempio

  1. Sposta 14 all’inizio

  2. Sposta 13 all’inizio

  3. Sposta 12 all’inizio

  4. Sposta 11 all’inizio

Spiegazione del 2° esempio

  1. Sposta 2 all’inizio

  2. Sposta l’altro 2 all’inizio

  3. Sposta 1 all’inizio

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue