'''ika tako

先頭から貪欲に残せる要素を拾っていって、

残る要素数を  N  から引いた値が答え

'''

n = int(eval(input()))

aaa = list(map(int, input().split()))

 

if 1 not in aaa:#'1'がどこにも無ければ不可能なので'-1'を出力して終了

    print((-1))

    exit()

 

i = 0

a = 1

while True:

    try:

        j = aaa.index(a, i)

        #文字列.index(検索する文字列 [,開始の位置 [,終了の位置]])

    except ValueError:#指定する文字列がない場合ValueError

        break

    i = j + 1

    a += 1

 

print((n - a + 1))
'''AtCoder水色になりたいのよさ

一番左を「1」にするために、「num」の初期値を1にし、

配列aを順番に判定していきます。

1以外のブロックは壊して「b_num」に足していきます。

1が見つかった後は、「num」を1増やして、同じ処理を続けます。

結果的に壊したブロックの数「b_num」が答えになります。

'''

n = int(eval(input()))

a = list(map(int, input().split()))

num = 1

b_num = 0



for i in range(n):

    if num != a[i]:

        b_num += 1

    else:

        num += 1



if b_num == n:

    b_num = -1



print(b_num)
"""ika tako
先頭から貪欲に残せる要素を拾っていって、
残る要素数を  N  から引いた値が答え
"""
n = int(eval(input()))
aaa = list(map(int, input().split()))
if 1 not in aaa:  #'1'がどこにも無ければ不可能なので'-1'を出力して終了
    print((-1))
    exit()
i = 0
a = 1
while True:
    try:
        j = aaa.index(a, i)
        # 文字列.index(検索する文字列 [,開始の位置 [,終了の位置]])
    except ValueError:  # 指定する文字列がない場合ValueError
        break
    i = j + 1
    a += 1
print((n - a + 1))

"""AtCoder水色になりたいのよさ
一番左を「1」にするために、「num」の初期値を1にし、
配列aを順番に判定していきます。
1以外のブロックは壊して「b_num」に足していきます。
1が見つかった後は、「num」を1増やして、同じ処理を続けます。
結果的に壊したブロックの数「b_num」が答えになります。
"""
n = int(eval(input()))
a = list(map(int, input().split()))
num = 1
b_num = 0
for i in range(n):
    if num != a[i]:
        b_num += 1
    else:
        num += 1
if b_num == n:
    b_num = -1
print(b_num)

-"""ika tako -先頭から貪欲に残せる要素を拾っていって、 -残る要素数を  N  から引いた値が答え +"""AtCoder水色になりたいのよさ +一番左を「1」にするために、「num」の初期値を1にし、 +配列aを順番に判定していきます。 +1以外のブロックは壊して「b_num」に足していきます。 +1が見つかった後は、「num」を1増やして、同じ処理を続けます。 +結果的に壊したブロックの数「b_num」が答えになります。 -aaa = list(map(int, input().split())) -if 1 not in aaa:  #'1'がどこにも無ければ不可能なので'-1'を出力して終了 -    print((-1)) -    exit() -i = 0 -a = 1 -while True: -    try: -        j = aaa.index(a, i) -        # 文字列.index(検索する文字列 [,開始の位置 [,終了の位置]]) -    except ValueError:  # 指定する文字列がない場合ValueError -        break -    i = j + 1 -    a += 1 -print((n - a + 1)) +a = list(map(int, input().split())) +num = 1 +b_num = 0 +for i in range(n): +    if num != a[i]: +        b_num += 1 +    else: +        num += 1 +if b_num == n: +    b_num = -1 +print(b_num)