Start: Nov, 14, 2021 22:00:00
2021年秋季学期程序设计基础(C语言)第二次考试(补题)
End: Nov, 15, 2022 02:00:00
Time elapsed:
Time remaining:

兔子回家 2994

Time Limit:  1 s      Memory Limit:   256 MB
Submission:427     AC:255     Score:0

Description

n只兔子,n个房子,房子从左到右按1~n排列,标号为1~n,兔子标号也为1~n。标号为i的房子属于标号为i的兔子。现在每只兔子都在一个房子里面(可能不在自己的房子里面),每次相邻房子的兔子都可以交换房子,例如兔子a在房子x,兔子b在房子y。房子x与房子y相邻。a与b交换之后,兔子a在房子y,兔子b在房子x。计算至少要交换多少次能让所有的兔子在自己的家中。

Input

第一行:n1=n=1000

第二行:输入一个数组a,ai表示房子i住着标号为ai的兔子。

Output

输出一个数字表示答案。

Samples

input
5 4 3 2 5 1
output
7

Hint

兔子1和兔子5交换:4 3 2 1 5
兔子2和兔子3交换:4 2 3 1 5
兔子4和兔子2交换:2 4 3 1 5
兔子4和兔子3交换:2 3 4 1 5 
兔子1和兔子4交换:2 3 1 4 5
兔子1和兔子3交换:2 1 3 4 5
兔子1和兔子2交换:1 2 3 4 5
一共七步,这样兔子就都回家了