I. Fila da cantina
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

Assim que o alarme do recreio tocou, a diretora da escola de Nlogônia observou seus alunos formarem uma fila na cantina. Ela viu que algumas crianças demoram muito para escolher seu pedido se estão no início da fila assim que o recreio começa, enquanto outras já vem com o pedido pronto na cabeça. Após análise cuidadosa, ela encontra a posição ideal para cada criança pi.

Assim que o recreio começa, ela observa as crianças novamente. Para ela, seria perfeito se a criança na 1ª posição fosse aquela com pi = 1, na segunda com pi = 2 etc. Mas esse não é o caso.

Para ajudar a tornar a fila ordenada, a diretora pode pedir a duas crianças, em quaisquer posições da fila, para que troquem de lugar. Assim que elas tiverem trocado, ela pode fazer o mesmo para outro par de crianças, até que a fila esteja ordenada. Qual o menor número de operações de troca para que isso aconteça?

Input

Na 1ª linha, leia um único inteiro N, o número de crianças. Segue uma linha com 1 ≤ N ≤ 103 inteiros pi indicando que a criança na i-ésima posição da fila deve ficar na posição pi após a ordenação.

Output

Imprima um único inteiro: a quantidade mínima de trocas para reordenar as crianças.

Examples
Input
4
2 1 4 3
Output
2
Input
4
1 2 3 4
Output
0
Input
3
2 3 1
Output
2
Input
3
3 2 1
Output
1
Note

Por exemplo, se p = {2, 1, 4, 3}, podemos primeiro trocar as crianças nas posições 1 e 2. Agora p = {1, 2, 4, 3} e as 2 primeiras crianças da fila já estão nas suas posições desejadas. Após trocar as crianças nas posições 3 e 4, temos que p = {1, 2, 3, 4} e a ordenação foi atingida.