Problem10812--ABC148 - D - Brick Break

10812: ABC148 - D - Brick Break

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 512 MiB

Description

We have $N$ bricks arranged in a row from left to right.

The $i$-th brick from the left $(1 \leq i \leq N)$ has an integer $a_i$ written on it.

Among them, you can break at most $N-1$ bricks of your choice.

Let us say there are $K$ bricks remaining. Snuke will be satisfied if, for each integer $i$ $(1 \leq i \leq K)$, the $i$-th of those brick from the left has the integer $i$ written on it.

Find the minimum number of bricks you need to break to satisfy Snuke's desire. If his desire is unsatisfiable, print -1 instead.

Input

Input is given from Standard Input in the following format:

```
$N$
$a_1$ $a_2$ $...$ $a_N$
```

Output

Print the minimum number of bricks that need to be broken to satisfy Snuke's desire, or print -1 if his desire is unsatisfiable.

Constraints

-   All values in input are integers.
-   $1 \leq N \leq 200000$
-   $1 \leq a_i \leq N$

Sample 1 Input

3
2 1 2

Sample 1 Output

1

If we break the leftmost brick, the remaining bricks have integers $1$ and $2$ written on them from left to right, in which case Snuke will be satisfied.

Sample 2 Input

3
2 2 2

Sample 2 Output

-1
In this case, there is no way to break some of the bricks to satisfy Snuke's desire.

Sample 3 Input

10
3 1 4 1 5 9 2 6 5 3

Sample 3 Output

7

1
1

0
There may be no need to break the bricks at all.

Source/Category