Mirko 的家庭图书馆里有 $N$ 本书,它们在一个狭窄的柜子里一本叠一本。
由于在上一题中已经很好地掌握了字母表的奥秘,现在他希望将这些书按字母顺序排列,使得书名按字母顺序最靠前的书排在最上面,最靠后的书排在最下面。
Mirko 可以很容易地从柜子里抽出一本书,但很难把它插回书堆中,因此书只能放回书堆的最顶部。因此,唯一可行的排序方法是重复地从书堆中抽出一本书并将其放在书堆的最顶部。
这些书按字母顺序被标记为 $1$ 到 $N$ 的整数。因此,Mirko 希望它们从上到下的顺序为 $(1, 2, \dots, N)$。例如,如果 $N = 3$ 且初始顺序为 $(3, 2, 1)$,则两次移动就足够了。首先,他抽出 $2$ 号书并将其放在最上面,书堆变为 $(2, 3, 1)$。之后,他对 $1$ 号书进行同样的操作,书堆变为 $(1, 2, 3)$。
请通过计算将给定的初始顺序进行排序所需的最少移动次数来帮助 Mirko。
输入格式
第一行包含一个整数 $N$ ($N \le 300\,000$)。
接下来的 $N$ 行,每行包含一个正整数。这 $N$ 个整数表示 Mirko 的书从柜子顶部到底部的顺序。整数 $1, 2, \dots, N$ 中的每一个都恰好出现一次。
输出格式
输出的第一行也是唯一一行,必须包含所需的最少移动次数。
样例
输入样例 1
3 3 2 1
输出样例 1
2
输入样例 2
4 1 3 4 2
输出样例 2
2